2011-08-31 101 views
0

我正在使用jQuery,並且我有一個aAax請求,如下所示;定時AJAX請求

$.ajax({ 
     type: 'POST', 
     url: 'test.php', 
     data: { 
      data: "test_data" 
     }, 
     cache: false, 
     success: function(result) { 
      if (result == "true"){ 
       alert("true"); 
      }else{ 
       alert("false"); 
      } 
     }, 
    }); 

這很好。但是,我希望在特定的時間間隔內及時做到這一點。說,我想每30秒執行一次。該頁面不應該重新加載。我希望這發生在背景中,隱藏。任何人都知道如何做到這一點?

回答

2
setInterval(function() { 
    $.ajax({ 
     type: 'POST', 
     url: 'test.php', 
     data: { 
      data: "test_data" 
     }, 
     cache: false, 
     success: function(result) { 
      if (result == "true"){ 
       alert("true"); 
      }else{ 
       alert("false"); 
      } 
     } 
    }); 
}, 30000); 
+0

這不是我正在尋找。我希望我的腳本在循環中每30秒啓動一次,無論結果如何,就像每30秒發出一聲「嗨」一樣。 –

+0

已修復!如果你想停止定時請求,只需存儲setInterval返回並稍後銷燬它。 – cvsguimaraes

+0

這裏有一把小提琴給你更好的理解 http://jsfiddle.net/FatUe/1/ – cvsguimaraes

1

使用setInterval? http://www.w3schools.com/jsref/met_win_setinterval.asp

或者,如果你只希望它成功的消息後運行,你可以使用的setTimeout在成功回調回顧,發送一個Ajax請求

+0

+1功能。只是不提及w3schools,那裏有很多錯誤。 – J0HN

+0

我知道,但我不認爲這適用於這種情況,並有一個非常基本的,但有用的寫:-) – Alex