如何在 jquery 中停止 Ajax 调用

use*_*068 5 javascript jquery

我想停止 jquery 中的 ajax 调用,该调用不起作用

var xhr = null;

xhr = $.ajax({
    url : 'www.example.com?some-large-call',
    success : function(responseText) {
        // some DOM manipulation
    }
});

$("#button").click(function() { xhr.abort() });
Run Code Online (Sandbox Code Playgroud)

我参考了下面的链接

http://www.stoimen.com/blog/2009/09/29/jquery-stop-an-ajax-call/

JF *_* it 3

这可能有更多的 XHR..

请看这个答案:

jquery abort() 在发送另一个 ajax 请求之前

从链接:

每次执行ajax请求时,添加到数组:

requests.push(
$.ajax({
    type: 'post',
    url: '/test.php',
    data: search_data,
    success: function(data) {
        $('#catalog').html(data);
    }
}));
Run Code Online (Sandbox Code Playgroud)

然后,当您想停止调用时..循环遍历数组并中止所有调用..

 for(var i = 0; i < requests.length; i++)
requests[i].abort();
Run Code Online (Sandbox Code Playgroud)

谢谢