如果全部成功,我需要同时进行 3 个 AJAX 调用,然后我需要执行一个函数。如果任何调用失败,我需要知道它是哪一个以及它抛出了什么错误。
我认为 jquery promise 是我需要的。我研究了许多在承诺上做when
&的例子then
,但没有看到任何解决这个特定问题的方法。
如果有人能引导我走向正确的方向,我将不胜感激。
如果全部成功,我需要同时进行 3 个 AJAX 调用,然后我需要执行一个函数。如果任何调用失败,我需要知道它是哪一个以及它抛出了什么错误。
我认为 jquery promise 是我需要的。我研究了许多在承诺上做when
&的例子then
,但没有看到任何解决这个特定问题的方法。
如果有人能引导我走向正确的方向,我将不胜感激。
说明一点有点冗长,但是您将从 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()
将不会被调用
又快又脏: