我正在对服务器进行ajax调用,它返回一些我存储在localStorage项目中的数据(无需解释原因,但需要像这样).
然后我需要在第一个调用之后的ajax调用中恢复该localStorage项.
我的问题:同步,第二次调用在变量设置之前开始,所以我得到null.
我尝试了"when.done","when.then",在第一次成功时调用第二个......似乎没有任何效果.
顺序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);
现在,如果你更具体......我可以详细说明代码.
更多信息anout ajax功能正在使用中.还有一个帖子的例子.
/sf/ask/17360801/
如果你有问题,就问吧.