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

标签 javascript php jquery ajax cordova

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

然后我需要在第一个 ajax 调用之后的后续 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);

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

<小时/>

有关正在使用的 ajax 函数的更多信息。还有一个带有帖子的示例。

https://stackoverflow.com/a/18309057/2450730

如果您有任何问题,请提出。

关于javascript - 一系列需要彼此结果的 AJAX 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21438087/

相关文章:

jquery - php与jquery的动态变量

javascript - 使用javascript在iframe中通过id更改元素的CSS样式

php - 用户生成/用户特定功能

javascript - 如果我的输入元素位于标签内,jQuery 验证是否有效?

javascript - 使用serialize()函数发送表单并在ajax()中发送额外数据

linux - PHP-FPM 和 capistrano, "No input file specified"

php - 删除样式和脚本标签

php - 如何根据内容控制html模板输出?

javascript - ChartJS 版本 3 - 多折线图的通用图例

javascript - 我应该手动将函数传递给我的组件还是使用 ref 属性?