我试图循环一个jquery post请求,并在结果数据正确时停止它。
while(flag == 0){
$.post("file.php", {
first:first_p,
second:second_p
}, function(data){
if(data == 1){
flag = 1;
}
}
}
但问题似乎是标志仅在post请求中可用而不是while循环。 我怎么解决这个问题? 感谢。
答案 0 :(得分:0)
这可能是因为ajax需要时间来查询服务器,并且在此期间它会继续发送请求,而它在while
循环中。
将代码包装在函数中是一种更好的设计,如果提供了错误的响应,即data
不是1
,则再次调用该函数。
function checkFile(){
$.post("file.php", {
first:first_p,
second:second_p
}, function(data){
if(data == 1){
flag = 1;
} else {
checkFile();
}
}
}