1

我使用下面来自 Stackoverflow 答案的代码来中止 JavaScript/jQuery 中的 AJAX 调用。

$.xhrPool.abortAll = function () {
  // alert('aborting.... outside');

  $(this).each(function (idx, jqXHR) {
    //jqXHR.abort();

    if (jqXHR && jqXHR.readyState != 4) {
        alert('aborting.... outside');
        jqXHR.abort();
    }
  });
  $.xhrPool.length = 0

  clearTimeout(timeoutOfCall);
  timeoutOfCall = null;
};

但是,当我这样调用这个函数时:

$.xhrPool.abortAll();

它在 IE 9 中的“未知属性”中生成错误,并且在 Chrome 中也不起作用。它仅适用于FF。

4

1 回答 1

3

如果您想停止特定的 ajax 调用并且您的 jquery 是 1.5.1 或最新版本,您可以使用 jqXHR 对象的“abort”方法。

var jqxhr = $.ajax(your ajax call);
jqxhr.abort();
于 2012-10-17T10:22:39.193 回答