จากเอกสาร JQuery
อ็อบเจ็กต์ jqXHR ที่ส่งคืนโดย$.ajax()ณ jQuery 1.5 นำอินเตอร์เฟส Promise มามอบคุณสมบัติวิธีการและพฤติกรรมทั้งหมดของสัญญา (ดูที่วัตถุรอการตัดบัญชีสำหรับข้อมูลเพิ่มเติม) เมธอดเหล่านี้รับอาร์กิวเมนต์ของฟังก์ชันหนึ่งตัวหรือมากกว่าที่ถูกเรียกเมื่อการ$.ajax()ร้องขอสิ้นสุดลง วิธีนี้ช่วยให้คุณสามารถกำหนดการโทรกลับหลายครั้งในการร้องขอเดียวและแม้กระทั่งการกำหนดการโทรกลับหลังจากที่คำขอเสร็จสิ้น (หากคำขอเสร็จสมบูรณ์แล้วจะมีการโทรกลับทันที) วิธีการสัญญาที่ใช้ได้ของวัตถุ jqXHR รวมถึง:
jqXHR.done(function( data, textStatus, jqXHR ) {});
โครงสร้างทางเลือกอื่นสำหรับตัวเลือกการเรียกกลับสำเร็จอ้างอิงdeferred.done()สำหรับรายละเอียดการใช้งาน
jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
โครงสร้างทางเลือกอื่นสำหรับตัวเลือกการเรียกกลับข้อผิดพลาด.fail()วิธีแทนที่เมธอด .error () ที่คัดค้าน อ้างถึง deferred.fail () สำหรับรายละเอียดการใช้งาน
jqXHR.always(function( data|jqXHR, textStatus, jqXHR|errorThrown ) { });
(เพิ่มเข้ามาใน jQuery 1.6) ความสร้างทางเลือกให้กับตัวเลือกการเรียกกลับสมบูรณ์.always()วิธีการแทนที่เลิกใช้.complete()วิธีการ
ในการตอบสนองต่อคำขอที่ประสบความสำเร็จอาร์กิวเมนต์ของฟังก์ชันจะเหมือนกับของ.done()data, textStatus และ jqXHR สำหรับคำร้องขอที่ล้มเหลวอาร์กิวเมนต์จะเหมือนกับของ.fail(): อ็อบเจ็กต์ jqXHR, textStatus และ errorThrown อ้างถึงdeferred.always()สำหรับรายละเอียดการใช้งาน
jqXHR.then(function( data, textStatus, jqXHR ) {}, function( jqXHR, textStatus, errorThrown ) {});
รวมการทำงานของ.done()และ.fail()วิธีการอนุญาต (เหมือน jQuery 1.8) สัญญาพื้นฐานที่จะจัดการ อ้างถึงรอการตัดบัญชี.then()สำหรับรายละเอียดการใช้งาน
ประกาศการเลิกใช้งาน: The jqXHR.success(), jqXHR.error()และjqXHR.complete()callbacks ถูกลบตั้งแต่ jQuery 3.0 คุณสามารถใช้
jqXHR.done(), jqXHR.fail()และjqXHR.always()แทน
success:/.done()ถูกกำหนดอย่างไรถ้าทั้งหมด เช่นจะsuccess:ใช้งานเป็นวันแรก.done()เหล่านี้หรือไม่