我有一个应用程序,我点击一个按钮和应用程序15 AJAX POST请求(所有异步)。
我想在完成所有帖子请求后刷新。有没有办法可以检测/确认所有AJAX请求都已完成然后刷新页面?
经过一些研究,我发现可能的一种方法是将.ajaxStop
方法置于ajax成功条件之一:
success: function(data, status) {
$(document).ajaxStop(function() {location.reload(true); });
},
有人可以确认这是否准确?
提前致谢!
答案 0 :(得分:0)
根据我的评论:
$(function() {
$(document).ajaxStop(function() {
if(foo_flag) {
foo_flag = false;
alert('done');
location.reload(true);
}
});
var foo_flag = false;
$('.not-foo').click(function() {
$.ajax({
method: 'post',
data: {
html: 'wololo'
},
url: '/echo/html/',
success: function(result) {
$("#output").append(result);
}
});
});
$('.foo').click(function() {
foo_flag = true;
for(i = 0; i < 16; i++) {
$.ajax({
method: 'post',
data: {
html: 'bar',
},
url: '/echo/html/',
success: function(result) {
$("#output").append(result);
}
});
}
});
});
这样,只要你按下按钮并且所有的ajax调用完成,你的重新加载就不会在任何ajax请求完成时启动。