我正在为我的项目使用 jquery。
我有以下要求:
我需要进行调用 5 个其他函数的函数调用。这 5 个函数是彼此独立工作的 ajax 调用。ajax 调用从服务器获取数据并将值附加到全局对象。
我很难找到是否所有的 ajax 调用都完成了。完成所有调用后,我必须将其设置为 localStorage,然后加载另一个 html 文件。
最好的方法是什么?
我正在为我的项目使用 jquery。
我有以下要求:
我需要进行调用 5 个其他函数的函数调用。这 5 个函数是彼此独立工作的 ajax 调用。ajax 调用从服务器获取数据并将值附加到全局对象。
我很难找到是否所有的 ajax 调用都完成了。完成所有调用后,我必须将其设置为 localStorage,然后加载另一个 html 文件。
最好的方法是什么?
嗯......你可以用 jQuery Load 做些什么,它可以确保在你调用任何函数或任何东西之前加载所有内容:
$(document).ready(function() {
//Make sure all DOMs loaded!
}):
如果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();
}