使用 jQuery 中止 Ajax 请求
2022-08-29 21:55:28
使用jQuery,我是否有可能取消/中止尚未收到响应的Ajax请求?
大多数 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 开始,返回的对象是名为 jqXHR 的本机 XMLHttpRequest 对象的包装器。此对象似乎公开了所有本机属性和方法,因此上面的示例仍然有效。请参阅 jqXHR 对象(jQuery API 文档)。
更新 2:从 jQuery 3 开始,ajax 方法现在返回一个带有额外方法(如 abort)的承诺,因此上述代码仍然有效,尽管返回的对象不再是 an。在此处查看 3.0 博客。xhr
更新3:仍然适用于jQuery 3.x。不要假设更新 2 是正确的。有关jQuery Github存储库的更多信息。xhr.abort()