使用 jQuery 中止 Ajax 請求
使用 Ajax 執行非同步操作時,可能需要取消尚未收到的正在進行的請求一個回應。本文探討如何使用 jQuery 的 Ajax 方法來實現此目的。
jQuery 的 Ajax 方法和 XMLHttpRequest
jQuery 的 Ajax 方法本質上建立一個 XMLHttpRequest 物件或等效物件來實作非同步HTTP 請求。 XMLHttpRequest 物件提供 abort() 方法,允許開發人員取消正在進行的請求。
中止 Ajax 請求
要中止 Ajax 請求,只需檢索 XMLHttpRequest從 Ajax 方法取得物件並呼叫其 abort() 方法。例如:
var xhr = $.ajax({ type: "POST", url: "some.php", data: "name=John&location=Boston", success: function(msg){ alert( "Data Saved: " + msg ); } }); // Cancel the request xhr.abort();
此程式碼片段示範如何中止正在進行的 Ajax 要求。
更新與注意事項
自 jQuery 1.5 以來, Ajax方法傳回一個jqXHR對象,它封裝了原生的XMLHttpRequest對象。 abort() 方法仍然可以在 jqXHR 物件上使用。
在 jQuery 3 及更高版本中,Ajax 方法傳回一個提供其他方法(包括 abort)的 Promise。然而,使用 xhr.abort() 的語意保持不變。
值得注意的是,xhr.abort() 仍然在 jQuery 3.x 中起作用,儘管之前有相反的說法。有關更多詳細信息,請參閱 jQuery Github 存儲庫。
以上是如何使用 jQuery 中止 Ajax 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!