2014-09-18 71 views
0

我試圖循環一個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

回答

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(); 
     } 
    } 
} 
+0

謝謝,這對我有用。事實上,我試圖推遲迴應,因爲我期待時間問題。再次感謝。 – Vinzox 2014-09-18 19:54:08