我怎样才能中止AJAX通话?

时间:2013-05-30 13:19:10

标签: javascript jquery ajax

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

2 个答案:

答案 0 :(得分:6)

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

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

然后致电abort()

xhr.abort();

答案 1 :(得分: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);