2013-04-07 148 views
1

我們如何實現一個定時器來每隔一分鐘發送一次ajax請求來刷新數據(如數據庫上其他用戶的新條目)。我使用jquery的$ .ajax。我們如何使用ajax jquery每分鐘刷新一次數據?

我的意圖是發送上次更新的時間,以便服務器不發送重複的數據。只有在那之後創建的行。

我的服務器腳本是php。

回答

2

發送日期和時間,您可以使用此功能

 var date = new Date(); 
     var date = date.getUTCFullYear() + '-' + 
     ('00' + (date.getUTCMonth()+1)).slice(-2) + '-' + 
     ('00' + (date.getUTCDate()).slice(-2) + ' ' + 
     ('00' + date.getUTCHours()).slice(-2) + ':' + 
     ('00' + date.getUTCMinutes()).slice(-2) + ':' + 
     ('00' + date.getUTCSeconds()).slice(-2); 

上面會格式化MySQL的格式,你通過變量MySQL查詢的日期和時間,然後使用setInterval每分鐘後,通過當前時間

setInterval(function(){ 
    $.ajax({ 
    type:"POST", 
    data:"Time="+ date,  
    url:"serverRef", 
    success: function(data){ 
     // On success 
          } 
    });    

    },60000); 

注意:您也可以使用同樣的技術在服務器端以及

1

setInterval使用jQuery」 s post會創造奇蹟。確保你有很多訪問者,記住要緩存,否則你可以在沒有注意的情況下進行大量查詢,過去我注意到這些查詢可能會壓倒某些主機,實質上會讓你脫機。

var ajax = window.setInterval(function(){ 
    $.post('path/to/my/script.php', function(data){ 
     if(data == "stop") 
     { 
      clearInterval(ajax); 
      return; 
     } 

     $('#statistics').html(data); 
    }); 
}, 60000);