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

时间:2017-02-06 20:29:02

标签: 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");

我想使用

在div标签内的php文件中调用它们
'.$dj.'
'.$nowplaying.'
'.$listeners.'

但是我提取的文件内容每30秒更新一次,所以我需要刷新显示的数据而不刷新页面。我认为javascript jquery可能是那个,但我不太熟悉它。

非常感谢!

2 个答案:

答案 0 :(得分:0)

如果你有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

   }
};

答案 1 :(得分:0)

是的,我认为使用jquery / JavaScript正是您正在寻找的,而且非常简单。只需在JavaScript中使用setInterval()方法让它按计划重复运行一个函数。既然你对这个很陌生,我会尝试做一个简单的例子。以下代码每30秒运行一次updateDiv()

<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);
}); 

您可以在此处查看:https://jsfiddle.net/jglazer63/h6q20dj9/1/