2016-02-05 79 views
0

我有2個圖表(使用Highcharts)與不同的數據在一個頁面上。 要顯示的數據來自CSV文件。 我的代碼到目前爲止工作,圖表顯示可視化的CVS內容。 但是:我需要每5分鐘重新加載CSV,導致每5分鐘將這些CSV文件寫入新數據。 如何以最佳方式執行重新加載? 我的代碼來生成2個圖表:Highcharts - 加載和刷新csv

$.get('chart_1.csv', function(csv) { 
$('#chart_1').highcharts({ 
    chart: { 
     type: 'column' 
    }, 
    data: { 
     csv: csv 
    } 
}); 
}); 

$.get('chart_2.csv', function(csv) { 
$('#chart_2').highcharts({ 
    chart: { 
     type: 'column' 
    }, 
    data: { 
     csv: csv 
    } 
}); 
}); 

回答

0

使用setInterval,把你的AJAX功能內。

function function1() { 
    //do your AJAX stuff here 
} 
setInterval(function1, 300000); //300000 MS == 5 minutes 

如果你想顯示負載使用此圖:

$(window).load(function() { 
//ajax function here 
} 

Reference.

+0

到目前爲止,我已經有了,謝謝。這適用於重新加載,但是當首先進入頁面時,用戶必須等待setIntervall。數據首次加載後,間隔應該開始啓動。 –

+0

您可以在窗口加載和設定的時間間隔內使用該功能兩次。 –

+0

這是我的Javascript/Ajax知識結束的地方。這是否是一種高性能的方式? –

0

有閱讀更新的CSV文件,每一次的方式。默認情況下,ajax請求使用緩存。您可以使用以下命令改變它:$ .ajaxSetup({cache:false}); 這是使用隱式ajax請求(如$ .get)時的方法。否則,只需在您的ajax語句列表中添加「cache:false」即可。