2013-10-07 99 views
0

我有一个非常经典的折线图,从JSON格式的PHP脚本获取数据。 但是,我想定期更新该图。谷歌折线图,刷新数据表

var jsonData1 = $.ajax({ url:"./scripts/json_papp.php", dataType:"json", async:false }).responseText; 
var data1 = new google.visualization.DataTable(jsonData1); 
var chart1 = new google.visualization.LineChart(document.getElementById('papp_div')); 
chart1.draw(data1, opt1); 
setInterval("updatePAPP()", 6000); 

function updatePAPP() { 
// here I need to get again the data from the script and draw it again. 
} 

回答

0

你可以尝试这样的:

function updatePAPP() { 
    $.ajax({ url:"./scripts/json_papp.php", dataType:"json", async:false }).done(function(jsonData1) { 
     var data1 = new google.visualization.DataTable(jsonData1); 
     var chart1 = new google.visualization.LineChart(document.getElementById('papp_div')); 
     chart1.draw(data1, opt1); 
    } 
} 
+0

那是不行的,没有错误,但该图没有更新。我不确定用另一个“新覆盖”实际图(新变量是本地的)是一个好方法。并使全球变量不工作。 – Singman

+0

也许我应该找到一种方法来清除数据表,在其上放置新数据并重绘图。但是没有任何方法可以清除数据表... – Singman

+0

好的,已批准。我的不好,弄乱了一些全局变量和局部变量。我更改了updatPAPP()函数中的名称以避免混淆,并且它正在工作。但我不确定这个解决方案长期不会吃掉记忆。 – Singman