2015-05-29 90 views
1

我有一個JavaScript頁面,它讀取JSON文件並根據此JSON文件在屏幕上呈現一些數據。我需要定期刷新此頁面(每隔10秒),以便捕獲JSON文件中的更改。我做了以下內容:HTML在刷新時獲取新數據

<meta http-equiv="refresh" content="2" /> 

我也試圖與我的Java腳本中下面的代碼這樣做:

<script type="text/javascript"> 
setTimeout("location.reload(true);",2000); 

兩個版本的工作,並定期刷新頁面。但是,無論何時發生刷新,它都不會從我的JSON文件讀取新數據。只有使用「刷新」按鈕手動刷新頁面時,它纔會讀取數據。有什麼辦法可以強制它在刷新時讀取新數據?

+0

你有沒有考慮過有一個外部頁面從csv獲取數據並對其進行ajax調用? (類似於API) –

+0

您是否可以設置CSV文件的過期標題?如果是,請將其設置爲過去。你也可以使用類似http://your.url/file.csv?r = [insert_current_timestamp] –

+0

不太熟悉AJAX ..我將如何去做。 – Hello

回答

0

如果您確定使用JQuery,請使用此html創建第二個頁面,並將url var設置爲您正在觸摸的頁面。如果你點擊新頁面,它應該每10秒刷新一次數據。

<div id="div1"> 
</div> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    var url = //path to your page that is currently working 
    reloadData = function() { 
    $.ajax({url: url, success: function(result){ 
     $("#div1").html(result); //takes the content of your url and throws it into div1 
    }}); 
    } 
    window.setInterval(reloadData, 10000);//every 10 seconds 
}); 
</script> 
+0

剛剛在ajax調用中添加了url var ...所以如果您已經複製了代碼,請更新 –

+0

這可行,但它也不會從我的JSON文件中捕獲新內容。它會一直顯示舊數據,直到我手動刷新。我需要它來獲取新數據,每次刷新完成。 – Hello

+1

得到它的工作,謝謝! – Hello