Jquery On Click函数,用于停止当前正在运行的Ajax请求

时间:2011-10-14 17:20:43

标签: javascript jquery ajax

  

可能重复:
  Stop all active ajax requests in jQuery

我想要一个按钮来中止当前正在运行的任何ajax请求。下面是一个抓取右键的选择器。在警报的位置应该采取什么措施('测试')?

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

2 个答案:

答案 0 :(得分:3)

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

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

之后您可以中止请求:

request.abort();

答案 1 :(得分:0)

为每个xhr对象创建一个数组:

var xhrArray = new Array();

对于每个xhr对象,您需要将其添加到数组中(其中xhr是对象):

xhrArray.push(xhr);

然后在中止:

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

stop变量用于我的代码中的其他地方的循环,以防止创建/发送更多xhr对象。