如果所有这些调用都成功,我需要同时进行3次AJAX调用,然后我需要执行一个函数。如果任何调用失败,我需要知道它是哪一个以及它抛出了什么错误。
我认为jquery承诺是我需要的。我查看了许多做when
&的例子。 then
承诺,但没有看到任何解决这一特定问题。
我会感激身份,有人可以指导我正确的方向。
答案 0 :(得分:1)
有点冗长以表达观点,但是您坚持从数组中的ajax调用返回延迟,然后在该数组上使用$.when
来完成所有操作:
var request1 = $.ajax({
url: 'someurl1.php'
}).fail(function() {
alert('request 1 failed');
});
var request2 = $.ajax({
url: 'someurl2.php'
}).fail(function() {
alert('request 2 failed');
});
var request3 = $.ajax({
url: 'someurl3.php'
}).fail(function() {
alert('request 3 failed');
});
$.when.apply($, [request1, request2, request3]).then(function() {
// all done
});
请注意,如果任何调用失败,则不会调用.then()
答案 1 :(得分:0)
又快又脏: