2011-10-14 89 views
0

可能重复一个Ajax请求的Jquery在点击功能:
Stop all active ajax requests in jQuery是停止当前正在运行的

我想有一个按钮,将中止任何Ajax请求当前正在运行。下面是一个抓取右键的选择器。什么应该在警报('测试')的地方?

$('#abort').click(function(){ 
    alert('test') 
    }); 
+1

你可以在这里找到你的答案:http://stackoverflow.com/questions/446594/kill-ajax-requests-using-javascript-using-jquery/446626 – Stuiterbal

回答

3

您需要调用abort()方法 - 在每个ajax调用上!

var request = $.ajax({ 
    type: 'POST', 
    url: 'someurl', 
    success: function(result){..........} 
}); 

在此之后,你可以中止请求:

request.abort(); 
0

创建每个XHR对象的数组:

var xhrArray = new Array(); 

对于你需要把它添加到阵列的每个XHR对象(其中xhr是对象):

xhrArray.push(xhr); 

然后在中止:

for(i = 0; i < xhrArray.length; i++){ 
     xhrArray[i].abort(); 
     stop = true; 
    } 

停止变量是一个循环,在我的代码,以防止创建/发送更多XHR对象别处。

相关问题