ฉันได้เขียนโค้ดดังนี้:
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID },
success: function (data) {
$('#CityID').html(data);
},
error: function (ajaxContext) {
alert(ajaxContext.responseText)
}
});
แต่เมื่อฉันดู.ajax()
เอกสาร jQuery ในตอนท้ายดูเหมือนว่าฉันควรเขียนโค้ดแบบนี้ด้านล่างหรืออย่างน้อยก็แนะนำให้เพิ่ม a .done()
และ a .fail()
:
var request = $.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID }
});
request.done(function (data) {
xxx;
});
request.fail(function (jqXHR, textStatus) {
xxx;
});
ปรับปรุง
ถ้าฉันรหัสเช่นนี้มันเหมือนกันหรือมีประโยชน์ที่จะแบ่งออกเป็นสามบาง?
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID }
}).done(function (data) {
xxx;
}).fail(function (jqXHR, textStatus) {
xxx;
});
.error
,.success
) ซึ่งจะเลิกในความโปรดปรานของรูปแบบการรอการตัดบัญชีสากลมากขึ้น แต่พารามิเตอร์กับajax
วิธีการที่จะไม่เลิกและมีทั้งที่ถูกต้องและเป็นที่ยอมรับ - แม้ใน jQuery 1.9 / 2.0! ในทุกรูปแบบปัจจุบันajax
ยังคงส่งกลับรอการตัดบัญชี; อาจจะมีการโทรกลับรอการตัดบัญชีที่แนบมาแล้ว