gpt4 book ai didi

javascript - 如何仅在成功时才在循环中运行ajax请求以转到下一个循环值?

转载 作者:行者123 更新时间:2023-11-28 11:17:25 24 4
gpt4 key购买 nike

我有一个非常基本的场景:运行 3 个 Google map 地点网址并在每次成功时显示结果

这是我到目前为止所拥有的:

 var  values = ["url1", "url2", "url3"];

values.forEach(function(value, i) {

var jsonReq = JSON.stringify({
action: 101,
supported: value
});

...

$.ajax({
type: "POST",
url: "data.ajax.php",
dataType:"json",
data:{
data:jsonReq
},
success:function(data){
// parse results
....

}
});

});

问题是我循环运行所有 3 个 URL 而不等待成功

我只想在收到上一个请求的响应(回调)时才发送下一个请求。

有什么建议吗?

谢谢

最佳答案

尝试递归......就像这样

var currentR = 0;
var values = ["url1", "url2", "url3"];
function sendReqests()
{
if(!values[currentR])
return false;
var jsonReq = JSON.stringify({
action: 101,
supported: values[currentR]
});
$.ajax({
type: "POST",
url: "data.ajax.php",
dataType:"json",
data:{
data:jsonReq
},
success:function(data){
currentR++;
if(values[currentR]){
sendReqests();
}
}
});

}


// call the recursive function

sendReqests();

关于javascript - 如何仅在成功时才在循环中运行ajax请求以转到下一个循环值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com