2012-12-28 28 views
2

我想要使用JavaScript每5秒执行一次php程序。我怎样才能做到这一点?如何使用JavaScript每5秒加载一个PHP文件

我试着使用:

<script type="text/javascript"> 
    setInterval(
     function(){ 
      $.load('update.php'); 
     }, 
     5000 
    ); 
</script> 

但它不工作。

+2

你可以使用非阻塞服务器,如nodejs或者工具nt您的php websocket服务器 –

+0

简单的AJAX或JQUERY –

+0

5秒钟定时器上的AJAX请求。 (不是说这是个好主意) – Cerbrus

回答

17

使用jQuery和setInterval

setInterval(function() { 
    $.get('your/file.php', function(data) { 
     //do something with the data 
     alert('Load was performed.'); 
    }); 
}, 5000); 

或者没有jQuery的:

setInterval(function() { 
    var request = new XMLHttpRequest(); 
    request.onreadystatechange = function() { 
     if (request.readyState == 4 && request.status == 200) { 
      console.log(request.responseText); 
     } 
     } 
    request.open('GET', 'http://www.blahblah.com/yourfile.php', true); 
    request.send(); 

}, 5000); 
+0

我有一种感觉,有一些“Downvote the competition”在SO上继续,用户在他们回答的帖子上低估了其他答案。 – Cerbrus

+1

我是比赛,但投票了,不下来;) – dvcrn

+0

@Dabido:在这种情况下,我什么都没说:P良好的体育道德:D – Cerbrus

7

尝试使用setInterval()执行XHR呼叫。 (jQuerynon jQuery

setInterval(function() { 
    // Ajax call... 
}, 5000); 

这将执行代码的函数内每5秒

+1

他想用JavaScript执行PHP。不是使用JavaScript的JavaScript。但+1帮助吸血鬼 –

+7

@ColeJohnson:___only___从JavaScript执行php的方式是做一个AJAX调用,以请求一个php页面。 – Cerbrus

+1

@Cerbrus我知道AJAX是解决方案。我只是指出你的代码没有给出Ajax的任何迹象 –