Jquery - 在发布请求后保存数据

问题描述:

我试图循环一个jQuery发布请求,并在结果数据正确时停止它。Jquery - 在发布请求后保存数据

while(flag == 0){ 
    $.post("file.php", { 
     first:first_p, 
     second:second_p 
    }, function(data){ 
      if(data == 1){ 
       flag = 1; 
      } 
    } 
} 

但问题似乎是该标志只在发布请求内而不是在while循环中可用。 我该如何解决这个问题? 谢谢。

+0

你在哪里宣布国旗...请在这里发布完整的代码 – Tushar 2014-09-18 19:48:40

这可能是因为ajax需要时间来查询服务器,并在那段时间,它会继续发送请求,而它在while循环中。

将函数中的代码包装起来会更好,如果提供了错误的响应,即data不是1,则再次调用该函数。

function checkFile(){ 
    $.post("file.php", { 
     first:first_p, 
     second:second_p 
    }, function(data){ 
     if(data == 1){ 
      flag = 1; 
     } else { 
      checkFile(); 
     } 
    } 
} 
+0

谢谢,这对我有用。事实上,我试图推迟回应,因为我期待时间问题。再次感谢。 – Vinzox 2014-09-18 19:54:08