2010-01-25 169 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) */ 
     }, 
    }); 
}