中止ajax调用javascript

时间:2012-10-17 10:07:08

标签: javascript jquery ajax call abort

我使用下面的代码从一个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工作。

1 个答案:

答案 0 :(得分:3)

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

var jqxhr = $.ajax(your ajax call);
jqxhr.abort();