一系列需要彼此结果的AJAX调用

0 javascript php ajax jquery cordova

我正在对服务器进行ajax调用,它返回一些我存储在localStorage项目中的数据(无需解释原因,但需要像这样).

然后我需要在第一个调用之后的ajax调用中恢复该localStorage项.

我的问题:同步,第二次调用在变量设置之前开始,所以我得到null.

我尝试了"when.done","when.then",在第一次成功时调用第二个......似乎没有任何效果.

coc*_*cco 5

顺序ajax调用.

在您的情况下,最好的解决方案是使用顺序ajax调用.

编辑:我现在看到jquery标签..这段代码是纯javascript ..并适用于所有现代浏览器,包括ie10和ios/android.它被称为xhr2.但是当你使用localStorage时,这应该不是问题.

function ajax(a,b,c){ // Url, Callback, just a placeholder
 c=new XMLHttpRequest;
 c.open('GET',a);
 c.onload=b;
 c.send()
}

function store(array){
 window.localStorage['data']=JSON.stringify(array)
}

//***************************************************************

function firstCheck(){
 var call1data=JSON.parse(this.response);
 store(call1data);
 // get what you need
 ajax('url',secondCheck)
}

function secondCheck(){
 var 
 call2data=JSON.parse(this.response),
 call1data=JSON.parse(window.localStorage['data']);
 // whatever...
}

ajax('url',firstCheck);
Run Code Online (Sandbox Code Playgroud)

现在,如果你更具体......我可以详细说明代码.


更多信息anout ajax功能正在使用中.还有一个帖子的例子.

/sf/answers/1281634021/

如果你有问题,就问吧.