Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript包含文件并每30秒刷新一次_Javascript_Php_Html_Api_File Get Contents - Fatal编程技术网

Javascript包含文件并每30秒刷新一次

Javascript包含文件并每30秒刷新一次,javascript,php,html,api,file-get-contents,Javascript,Php,Html,Api,File Get Contents,我有3个文件,我称之为: $nowplaying = file_get_contents("/api/static/nowplaying"); $dj = file_get_contents("/api/static/dj"); $listeners = file_get_contents("/api/static/listeners"); 我想使用 '.$dj.' '.$nowplaying.' '.$listeners.' 但是我正在拉取的文件的内容每30秒更新一次,因此我需要

我有3个文件,我称之为:

     $nowplaying = file_get_contents("/api/static/nowplaying");
$dj = file_get_contents("/api/static/dj");
$listeners = file_get_contents("/api/static/listeners");
我想使用

'.$dj.'
'.$nowplaying.'
'.$listeners.'
但是我正在拉取的文件的内容每30秒更新一次,因此我需要刷新显示的数据,而不刷新页面。我认为javascript jquery可能是其中之一,但我对它不太熟悉

非常感谢

如果您有jQuery

setInterval(function(){
    $.get("/api/static/nowplaying",function(data){
        // Do something with data
    });
},30000);
使用javascript有点像

var request = new XMLHttpRequest();
setInterval(function(){
    request.open('GET', '/api/static/nowplaying', true);
    request.send();
},30000)

request.onload = function() {
    if (request.status >= 200 && request.status < 400) {
        // Success!
        var data = request.responseText;
    } else {
    // We reached our target server, but it returned an error

   }
};
var-request=new-XMLHttpRequest();
setInterval(函数(){
open('GET','/api/static/nowplaying',true);
request.send();
},30000)
request.onload=函数(){
如果(request.status>=200&&request.status<400){
//成功!
var data=request.responseText;
}否则{
//我们到达了目标服务器,但它返回了一个错误
}
};

是的,我认为使用jquery/JavaScript是您想要的,而且非常简单。只需在JavaScript中使用
setInterval()
方法,就可以让它按计划重复运行函数。既然你对这方面还不太熟悉,我就试着举个简单的例子。下面的代码每30秒运行一次

<script type="text/javascript" src="//code.jquery.com/jquery-3.1.1.js">
</script>
  <script type='text/javascript'>

var myVar
function updateDiv(){
    clearInterval(myVar);

    alert('your code should go here');

    myVar = setInterval("updateDiv()", 30000);
}
$(document).ready(function(){
    myVar = setInterval("updateDiv()", 30000);
}); 

var myVar
函数updateDiv(){
净距(myVar);
警报(“您的代码应该在此处显示”);
myVar=setInterval(“updateDiv()”,30000);
}
$(文档).ready(函数(){
myVar=setInterval(“updateDiv()”,30000);
}); 


您可以在这里查看:

熟悉这一点可以通过ajax完成。您可以在这里使用jquery for sure-material进行研究:如果要清除并设置每次调用的间隔,最好只使用只触发一次的
setTimeout
。这意味着您不需要清除,只需在末尾设置另一个超时。而且,只有在下一个间隔触发之前无法完成处理时,才需要执行所有这些操作。如果你的处理时间超过30秒(间隔时间),那么我建议用某种方式重构它。是的,仍然在挣扎。。试过上面所有的方法,还是什么都没有(这是javascript。它应该在页面顶部的标记之间,并且应该有一个和前后。你这样做了吗?为了清晰起见,我将添加它……我只需要包含stats.php文件,该文件回显文本:(我更新了上面的脚本,以包含jquery库的链接(你可能错过了该链接)。现在它将每30秒向您发送一次警报。这只是一个开始。您也可以在jsfille上尝试。