AJAX请求将被用户点击来启动如何在所有ajax完成时触发一个函数?
这是不可能知道有多少请求将被发送
我试过ajaxComplete,但它不工作,我觉得它不能检测AJAX页面加载后。
function ajax1() {
$.ajax({
url: 'getCount.php',
type: 'GET',
dataType: 'html',
success: function (data) {
var count = parseInt(data);
for (var i = 0; i < count; i++) {
ajax2();
}
}
});
}
function ajax2() {
$.ajax({
url: 'getCount2.php',
type: 'GET',
dataType: 'html',
success: function (data) {
var count = parseInt(data);
for (var i = 0; i < count; i++) {
ajax3();
}
}
});
}
function ajax3() {
$.ajax({
url: 'ajax3.php',
type: 'GET',
dataType: 'html',
success: function (data) {
//do something
}
});
}
$(document).ajaxComplete(function (event, xhr, settings) {
alert('Complete');
});
我听说过类似的概念,那就是流量控制,它们是同一件事吗? –
@CLSo不是真的,没有。但是,您可以考虑流量控制方面的承诺。 – vittore
@CLSo忘记给你链接文档http://api.jquery.com/category/deferred-object/ - jquery推迟/承诺。和https://www.promisejs.org/ – vittore