【问题标题】:Jquery On Click Function that Stops an Ajax Requests currently running [duplicate]Jquery On Click 停止当前运行的 Ajax 请求的功能[重复]
【发布时间】:2011-10-14 17:20:43
【问题描述】:

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

我想要一个按钮来中止当前正在运行的任何 ajax 请求。下面是一个抓住右键的选择器。应该用什么代替 alert('test')?

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

【问题讨论】:

标签: javascript jquery ajax


【解决方案1】:

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

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

之后您可以中止请求:

request.abort();

【讨论】:

    【解决方案2】:

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

    var xhrArray = new Array();
    

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

    xhrArray.push(xhr);
    

    然后中止:

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

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

    【讨论】:

      猜你喜欢
      • 2013-12-08
      • 2022-12-08
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多