Javascript jQuery在单击按钮时中止所有AJAX请求(查询)
如何使用按钮或某个单击事件取消/中止/停止所有尚未收到响应的AJAX请求/查询?因为我进行了多次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
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。这不是我的代码,但实现了相同的结果。