我计划在我的网站上实现一系列 jQuery AJAX 调用,并想开发一个函数来中止 AJAX 调用。我怎样才能做到这一点?我已经阅读了这个链接,但它对我不起作用。
问问题
2319 次
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 回答