Javascript jQuery在单击按钮时中止所有AJAX请求(查询)

Javascript jQuery在单击按钮时中止所有AJAX请求(查询),javascript,jquery,ajax,javascript-events,Javascript,Jquery,Ajax,Javascript Events,如何使用按钮或某个单击事件取消/中止/停止所有尚未收到响应的AJAX请求/查询?因为我进行了多次AJAX调用。这是我的密码: function makeCalls() { var urls = ["url1.php", "url2.php", "url3.php", "url4.php"]; $.each(urls, function(index, value) { $.ajax({ global: false, t

如何使用按钮或某个单击事件取消/中止/停止所有尚未收到响应的AJAX请求/查询?因为我进行了多次AJAX调用。这是我的密码:

function makeCalls() {
    var urls = ["url1.php", "url2.php", "url3.php", "url4.php"];
    $.each(urls, function(index, value) {
        $.ajax({
            global: false,
            type: 'POST',
            url: value,
            dataType: 'html',
            data: returnData(),
            cache: false,
            timeout: 60000,
            success: function(result) {         
                switch(value) {
                    case "url1.php":
                        // my code for url1 
                    case "url2.php":
                        // my code for url2 
                    case "url3.php":
                        // my code for url3 
                    case "url4.php":
                        // my code for url4 
                }
            },
            error: function (request, status, error) {
                console.log('ERROR: ' + request.responseText);
            }
        });
    });
}
现在假设这是您的按钮:

<a href="#" id="abort-all-ajax" title="Abort all requests">Abort all requests</a>

$("#abort-all-ajax").on("click", function(e){
    e.preventDefault();
    for(var i = 0; i < ajaxRequestsArray.length; i++ )
    {
      var curRequest = ajaxRequestsArray[i];
      curRequest.abort();
    }//for()

});//click handler

$(“#中止所有ajax”)。在(“单击”上,函数(e){
e、 预防默认值();
对于(var i=0;i
现在假设这是您的按钮:

<a href="#" id="abort-all-ajax" title="Abort all requests">Abort all requests</a>

$("#abort-all-ajax").on("click", function(e){
    e.preventDefault();
    for(var i = 0; i < ajaxRequestsArray.length; i++ )
    {
      var curRequest = ajaxRequestsArray[i];
      curRequest.abort();
    }//for()

});//click handler

$(“#中止所有ajax”)。在(“单击”上,函数(e){
e、 预防默认值();
对于(var i=0;i
可能是@Mike的副本此AJAX请求是一个函数,我希望在按下所有AJAX停止时有一个按钮。我从stackoverflow读取了所有帖子……您只需为所有请求保留一个全局数组,例如ajaxRequestsArray=[];然后,无论何时发出ajax请求,都将其引用推送到该数组中。单击所需的按钮,循环遍历此数组并逐个中止每个请求。@Mike好的,你能发布一些代码吗,因为我不能很好地理解你吗?好的,让我发布一个代码示例。可能是@Mike的副本此AJAX请求是一个函数,我希望在按下所有AJAX停止时有一个按钮。我从stackoverflow读取了所有帖子……您只需为所有请求保留一个全局数组,例如ajaxRequestsArray=[];然后,无论何时发出ajax请求,都将其引用推送到该数组中。单击所需按钮,循环遍历此数组并逐个中止每个请求。@Mike好的,你能发布一些代码吗,因为我不能很好地理解你?好的,让我发布一个代码示例。它在“ajaxRequestsArray.push(ajaxRequest);“ajaxRequest未定义”或“ajaxRequest未定义”中显示“ajaxRequest未定义”?确保您不是在推ajaxRequests,而是在推ajaxRequest。您也可以参考此JSFIDLE。这不是我的代码,但实现了相同的结果。它在“ajaxRequestsArray.push(ajaxRequest)”中说“ajaxRequest未定义”,“ajaxRequest未定义”或“ajaxRequest未定义”?确保您不是在推ajaxRequests,而是在推ajaxRequest。您也可以参考此JSFIDLE。这不是我的代码,但实现了相同的结果。