2017-02-06 66 views
-1

我有3個文件,我把它們稱爲:的Javascript包括文件和刷新,每30秒

 $nowplaying = file_get_contents("/api/static/nowplaying"); 
$dj = file_get_contents("/api/static/dj"); 
$listeners = file_get_contents("/api/static/listeners"); 

我想用

'.$dj.' 
'.$nowplaying.' 
'.$listeners.' 

打電話給他們在div標籤裏我的PHP文件,但我每隔30秒更新文件的內容,因此我需要刷新顯示的數據而不刷新頁面。我想在JavaScript的jQuery可能是一個,但我不太熟悉它。

非常感謝!

+0

熟悉['的setInterval()'](https://www.sitepoint.com/setinterval-example/) –

+0

這可以由ajax完成。你可以肯定地使用jquery - 在這裏學習的材料:http://api.jquery.com/?s=ajax –

回答

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 

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

+0

如果你打算清除並設置每次通話的時間間隔,最好使用'setTimeout '只發射一次。意思是你不需要清除,只需在最後設置另一個超時。而且,如果在下一個時間間隔觸發之前無法完成處理,則只需完成所有這些操作。如果你的處理時間超過30秒(間隔量),那麼我建議以某種方式重構它。 –

+0

是啊仍然在掙扎..嘗試了

以上的所有上述內容,但仍然沒有! :( –

+0

這是javascript,它應該在頁面頂部的標籤之間,並且在它之前和之後應該有。您是否這樣做?爲了清晰起見,我將添加它.. –