【问题标题】:Multiple ajax calls in jqueryjquery中的多个ajax调用
【发布时间】:2016-01-06 23:46:12
【问题描述】:
我正在为我的项目使用 jquery。
我有以下要求:
我需要调用 5 个其他函数。
这 5 个函数是彼此独立工作的 ajax 调用。 ajax 调用从服务器获取数据并将值附加到全局对象。
我很难找到是否所有的 ajax 调用都已完成。在所有调用完成后,我必须将其设置为 localStorage,然后加载另一个 html 文件。
最好的方法是什么?
【问题讨论】:
标签:
javascript
jquery
local-storage
function-call
variable-initialization
【解决方案1】:
如果ajax调用的次数是恒定的,可以使用如下逻辑
COUNTER=5;
function reduceCounter(){
COUNTER --;
if(COUNTER == 0)
{
localStorage.Obj=JSON.stringify(Obj);
location.href="nextPage.html";
}
在每个 ajax 调用中,调用 reduceCounter() at .always();
例如:
$.ajax({
url: ..
type: 'GET',
dataType: 'json',
})
.done(){...
//set Obj
},
.fail(){...
},.always(){
reduceCounter();
}
【解决方案2】:
mmm... 你可以用 jQuery Load 做些什么吗,它可以确保在你调用任何函数或任何东西之前加载所有内容:
$(document).ready(function() {
//Make sure all DOMs loaded!
}):