IE替代window.stop()(取消所有挂起的请求)

Yas*_*kov 11 asp.net ajax internet-explorer request

我正在为IE寻找window.stop()的替代品.我已经尝试过document.execCommand('Stop'),但它似乎不起作用.我正在尝试取消从我正在使用的ASP用户控件中调用的XMLHttpRequest.我不能使用jQuery的.abort(),因为我没有设置我自己的请求.

Hak*_*kin 3

我假设页面上的控制使用 jQuery.ajax,并且您知道何时需要根据您的标准中止请求。

像这样的事情怎么样?

(function ($) {
    var xhr = null, 
        originalAjax = $.ajax,
        updatedAjax = function (url, options) {
            xhr = originalAjax(url, options);
        };
    $.ajax = updatedAjax;
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

现在您有一个名为 xhr 的变量,它保存底层 xmlhttp 对象。您可以在需要时对对象调用 abort()。

缺点是将为 jQuery 完成的每个 ajax 请求填充变量,并且我只会在该特定页面上包含此脚本,甚至可能在完成后重置 ajax。

我没有尝试过这个,只是一个想法,因为我一直在嘲笑ajax调用。有些人可能会认为这种做法有点极端!

希望你觉得它有用。