2010-01-25 168 views
0

我想從PHP文件中的數據和每秒更新一次,所以當信息在PHP文件變化,它會自動更新如何在jQuery的更新每隔秒

$(document).ready(function() { 
$.ajaxSetup ({ 
    cache: false 
}); 
$("#hidden").hide(); 
$("#textfield").val(""); 
$("#textarea").val(""); 

var hol=$(this).attr('myval'); 
var formContent ="action=getlink&link="+hol; 

$.getJSON("inc/json.php",formContent, function(json){ 
$("#textfield").val(json.name); 
$("#textarea").val(json.desc); 
$("#formHeader").text("Edit"); 
$("#ajaxBox").text("All info loaded OK"); 
}); 


}); 
+0

太棒了!但是,問題是什麼? – naivists 2010-01-25 23:46:26

+0

您應該重申說明中的問題。我認爲你的意思是「如何在jQuery中每秒更新一次?」 – 2010-01-25 23:49:17

回答

4

使用setInterval(),而不是setTimeout()。 setInterval將以您指定的時間間隔調用該函數。

var interval = setInterval(function() { 
    /* do something that will execute every 1000 milliseconds*/ 
}, 1000); 
3

把這些代碼在函數和調用setTimeout()

+1

+1瞭解標題。 – 2010-01-25 23:48:00

0

當接收到響應或錯誤並重試時,會調用它。可能比每秒檢查更優雅的解決方案。

function foo() 
{ 
$.ajax({ 
     type: "GET", 
     url: , 
     data: , 
     timeout:50000, /* Timeout in ms */ 

     success: function(data){ /* called when request completes */ 
       'foo()', /* Request next message */ 
      ); 
     }, 
     error: function(XMLHttpRequest, textStatus, errorThrown){ 
      setTimeout(
       'foo()', /* Try again after.. */ 
       "15000"); /* milliseconds (1second) */ 
     }, 
    }); 
}