เมธอด jQuery Ajax ส่วนใหญ่ส่งคืนออบเจ็กต์ XMLHttpRequest (หรือเทียบเท่า) ดังนั้นคุณจึงสามารถใช้งานabort()
ได้
ดูเอกสารประกอบ:
var xhr = $.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
//kill the request
xhr.abort()
ปรับปรุง:
ณ jQuery 1.5 วัตถุที่ส่งคืนเป็น wrapper สำหรับวัตถุ XMLHttpRequest ดั้งเดิมที่เรียกว่า jqXHR วัตถุนี้ดูเหมือนจะเปิดเผยคุณสมบัติและวิธีการดั้งเดิมทั้งหมดดังนั้นตัวอย่างด้านบนจึงยังใช้งานได้ โปรดดูเอกสาร jqXHR Object (jQuery API)
ปรับปรุง 2:
ณ jQuery 3 ตอนนี้วิธี ajax ส่งคืนสัญญาด้วยวิธีพิเศษ (เช่นยกเลิก) ดังนั้นโค้ดข้างต้นยังคงใช้งานได้แม้ว่าวัตถุที่ส่งคืนจะไม่ได้xhr
อีกต่อไป ดูบล็อก 3.0 ที่นี่
อัปเดต 3 : xhr.abort()
ยังคงทำงานกับ jQuery 3.x อย่าถือว่าการอัพเดท 2นั้นถูกต้อง ข้อมูลเพิ่มเติมเกี่ยวกับพื้นที่เก็บข้อมูล jQuery Github
$.ajaxStop
ไม่ได้เหรอ?