เราต้องใช้วิธี$ .ajax.abort ()เพื่อยกเลิกคำขอหากคำขอนั้นทำงานอยู่ วัตถุสัญญานี้ใช้คุณสมบัติreadyStateเพื่อตรวจสอบว่าคำร้องขอนั้นทำงานอยู่หรือไม่
HTML
<h3>Cancel Ajax Request on Demand</h3>
<div id="test"></div>
<input type="button" id="btnCancel" value="Click to Cancel the Ajax Request" />
รหัส JS
var ajaxRequestVariable;
$("#test").html("Please wait while request is being processed..");
$("#btnCancel").on("click", function(){
if (ajaxRequestVariable !== undefined)
if (ajaxRequestVariable.readyState > 0 && ajaxRequestVariable.readyState < 4)
{
ajaxRequestVariable.abort();
$("#test").html("Ajax Request Cancelled.");
}
});
ajaxRequestVariable = $.ajax({
method: "POST",
url: '/echo/json/',
contentType: "application/json",
cache: false,
dataType: "json",
data: {
json: JSON.encode({
data:
[
{"prop1":"prop1Value"},
{"prop1":"prop2Value"}
]
}),
delay: 11
},
success: function (response) {
$("#test").show();
$("#test").html("Request is completed");
},
error: function (error) {
},
complete: function () {
}
});