谷歌图表 - 未捕获的错误:不是数组

时间:2013-10-16 10:04:43

标签: javascript php google-visualization

我有一个生成谷歌图表数据的PHP脚本,并以json编码格式返回。它使用jQuery $ .get()方法加载到谷歌图表中。当我将返回数据传递给google“ arrayToDataTable ”函数时,如下所示:

var googleChartData = google.visualization.arrayToDataTable(chartData);

我收到此错误:

enter image description here

所以,我所做的是将我的变量“ chartData ”的值转储,我得到以下内容:

enter image description here

所以,我所做的是,将这些数据从控制台窗口手动复制到“ arrayToDataTable ”函数中,如下所示:

var googleChartData = google.visualization.arrayToDataTable([["Date Range","0001\/102\/0 Available","0001\/102\/0 Unavailable","0001\/102\/1 Available","0001\/102\/1 Unavailable"],["02\/10\/2013",0,1,110,11],["03\/10\/2013",0,1,189,11],["04\/10\/2013",0,1,189,11],["06\/10\/2013",0,1,189,10],["07\/10\/2013",0,1,187,10],["08\/10\/2013",186,11,0,1],["09\/10\/2013",186,11,0,1],["10\/10\/2013",0,1,186,11],["11\/10\/2013",0,1,204,11],["13\/10\/2013",0,1,204,11]]);

现在图表呈现(正如预期的那样,因为我的php脚本返回的数据是正确的):

enter image description here

这有点奇怪;有没有人知道为什么图表从变量加载时不起作用?

1 个答案:

答案 0 :(得分:9)

我已经通过更改 arrayToDataTable 这一行解决了这个问题:

var googleChartData = google.visualization.arrayToDataTable($.parseJSON(chartData));

感谢此帖:https://stackoverflow.com/a/9420583/2332336