2

我计划在我的网站上实现一系列 jQuery AJAX 调用,并想开发一个函数来中止 AJAX 调用。我怎样才能做到这一点?我已经阅读了这个链接,但它对我不起作用。

4

2 回答 2

7

您需要将您的 ajax 请求分配给变量,

var xhr = $.ajax({
***
});

然后打电话abort()

xhr.abort();
于 2013-05-30T13:23:28.010 回答
0

单次使用 AJAX 很简单。XMLHttpRequest 有一个取消请求的中止方法。

// creating our request
xhr = $.ajax({
url: 'ajax/progress.ftl',
success: function(data) {
//do something
}
});

// aborting the request
xhr.abort();

xhr 对象还包含一个 readystate,其中包含请求的状态(UNSENT - 0、OPENED - 1、HEADERS_RECEIVED - 2、LOADING - 3 和 DONE - 4)。所以我们可以用它来检查之前的请求是否完成。

// abort function with check readystate
function abortAjax(xhr) {
if(xhr && xhr.readystate != 4){
xhr.abort();
}
}

// this function usage
abortAjax(xhr);
于 2013-05-30T13:37:09.520 回答