对于我的脚本,我希望url's
多个ajax
发送一些数据,以进行多个php
查询。所以我尝试如下,不要调用ajax waitForRep()
。怎么办呢?
我的Javascript:
var url = ['/server/server2','/server/server'];
var tutid = '<?php echo $tutid; ?>';
var CID = '<?php echo $id; ?>';
function waitForRep(){
$.each(url, function(i,u){
$.ajax({
type: "GET",
cache: false,
data: {
tutid : tutid,
CID : CID
},
timeout:15000,
success: function(data){
// do something with result
setTimeout(waitForRep, 15000 );
},
error: function(XMLHttpRequest, textStatus, errorThrown){
setTimeout(waitForRep, 15000);
}
});
}
}
$(document).ready(function(){
waitForRep();
});
答案 0 :(得分:0)
您的问题出在setTimeOut
。看起来你试图两次调用ajax。
如果要在成功时调用第二个ajax,则无需遍历数组。只需在第一次ajax成功时调用另一个ajax。
摆脱$.each
并按照以下方式行事:
$.ajax ({
url: link1
success: function (data){
$.ajax ({
url: link2
});
});
)};
答案 1 :(得分:0)
如果您要向多个网址发送多个请求:只需通过相同的request
,params
发送每个网址...
但是如果您想在发送所有请求后处理回复,我想到的第一个想法是Promise
,我尝试使用原生Promise和https://v4-alpha.getbootstrap.com/getting-started/options/,但如果您愿意{{1}我建议您查看it worked,这可能就是您要查找的内容(查看延期部分)。