jquery:等待所有ajax调用完成,然后继续[duplicate]

这个问题在这里已经有答案了
等待所有jQuery Ajax请求完成?

(22个答案)

七年前关闭的

我的文档中有一些ajax调用

比如:

(j=1;j<=7;j++)的

{
(功能(索引){
$.getJSON('my.php',{id:index},
功能(数据){
$.each(数据、函数(index2、数组){
........
});  
});
})(j)
} 
//在完成AJAX调用之前不要继续
........
更多JQUERY代码

我怎样才能强迫它等待,直到我们收到来自ajax请求的所有回调为止

我一点也不喜欢任何答案,最好的方法(因为Jquery 1.5+)是使用延迟对象,这些对象用于操作异步调用,您可以解决:

$.when($.ajax(“/page1.php”),$.ajax(“/page2.php”))
.然后(myFunc,myFailure);

这样,myFunc在两个ajax调用完成后执行,如果其中一个调用出错,myFunc将失败

您可以在jquery官方文档中了解更多信息:jquery延迟对象

我写这个解决方案,如果有人看到这篇文章,可能会有所帮助

对不起,我的英语:p

发表评论