我想在一个点击事件中进行三个 ajax 调用。每个 ajax 调用执行不同的操作并返回最终回调所需的数据。调用本身并不相互依赖,它们可以同时进行,但是我想在所有三个都完成后进行最后一次回调。
$('#button').click(function() {
fun1();
fun2();
fun3();
//now do something else when the requests have done their 'success' callbacks.
});
var fun1= (function() {
$.ajax({/*code*/});
});
var fun2 = (function() {
$.ajax({/*code*/});
});
var fun3 = (function() {
$.ajax({/*code*/});
});
最佳答案
看起来您已经找到了一些答案,但我认为这里有一些值得一提的地方可以大大简化您的代码。 jQuery 引入了 $.when
在 v1.5 中。看起来像:
$.when($.ajax(...), $.ajax(...)).then(function (resp1, resp2) {
//this callback will be fired once all ajax calls have finished.
});
没有看到这里提到它,希望它有所帮助。
关于多个 ajax 调用的 jQuery 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4368946/