如何让一个成功调用进行多个 AJAX 调用
how to have one onsuccess call for multiple ajax call
我有一个问题,我必须调用多个AJAX请求,我想编写一个回调,当所有请求都完成后,该回调只会调用一次。我可以有多个 ajax 调用,所以我可能不喜欢像这里发生的那样将这些 Ajax 调用链接在上一个回调的回调中。
所以我尝试了这样的事情——
var requestCompletedArray = [];
/* assuming i have `n` ajax calls to make */
for(var i = 0; i < n; i++) {
ajaxCall(/* some url, data etc */, callback);
}
/* my callback definition */
function callback(data) {
if(requestCompletedArray.length < n-1) {
requestCompletedArray.push(data.status);
return;
} else if(requestCompletedArray.length === n-1) {
//do something, all requests are completed
} else {
return;
}
}
我对这个解决方案感觉不好。大家怎么看?如果这不是一个好的解决方案,我能不能有一些解决这个问题的好建议。
1) 看看 jquery 文档中的 $.when
或
2)如果你不想使用它,你可能想做这样的事情:
- 实现保存发送的 AJAX 请求数的自定义对象
- 在全局范围内创建实例
- 具有全部完成回调的实例
- 使每个 AJAX 响应回调数减少 1
- 当数量达到 0 时>全部运行完成回调
相关文章:
- 阻止在select2单击时调用ajax
- 调用Ajax并返回响应
- Ajax:只在元素存在的情况下调用Ajax
- PHP,MySQL,AJAX-调用AJAX结果后,Bootstrap CSS样式不会显示
- 调用Ajax内部的函数
- 无法获取属性'的值;拆分'在IE8中调用ajax之后
- 我们如何在Firefox中调用AJAX
- Rails:通过调用Ajax重定向
- Cookie 在 Spotify (Javascript) 中调用 ajax 后未保存
- 通过调用 Ajax 来设置 struts bean 值
- 无法从服务器中的 php 调用 Ajax 函数
- 如何在附加表行时调用 ajax
- 在facebook用户发送邀请请求后调用ajax调用
- 定期调用Ajax
- 调用Ajax生成的表单的值
- 无法调用ajax函数
- 在调用AJAX之后显示ng控制器的内容;作为“;作用
- CSS,Java脚本在php中调用ajax后无法正常工作
- 成功调用AJAX后,Toast Growl不会出现
- 如何在调用AJAX时记录或捕获信息和错误