Google可视化 - ChartWrapper - 表没有列

时间:2012-01-25 13:06:53

标签: smarty google-visualization google-chartwrapper

我正在尝试使用Google可视化(第一次 - 所以,请耐心等待我)来构建一个简单的柱形图。由于我必须在包括Smarty在内的现有MVC结构中工作,所以事情变得有点复杂 - 但这是由旁边的。

在php中我得到了正确的数据集,我将其传递给了smarty。 Smarty然后格式化谷歌可视化的数据,所以我得到这个(从浏览器“查看源”复制粘贴):

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load('visualization', '1');
    google.setOnLoadCallback(drawVisualisation);

    function drawVisualisation() {
        var wrapper = new google.visualization.ChartWrapper({
            chartType: 'ColumnChart',
            dataTable: [['', 'android', 'iphone', 'unknown'],['2012-01-24', 2, 1, 2],['2012-01-25', 1, 1, 1]],
            options: {'title': 'Periods'},
            containerId: 'access-chart'
        });
        wrapper.draw();
    };
</script>

但是,执行时会导致“表没有数据”。

真正奇怪的是,如果我复制这个生成的代码并将其直接粘贴到模板中(不从传递的数据中格式化),那么图表就会正确显示。

这里有什么问题,如何解决?

1 个答案:

答案 0 :(得分:0)

显然,我被一个最愚蠢的错误所困扰。这个问题是由一些非常不必要的缓存引起的。当然,我没有在第一次尝试时得到正确的代码,并且在我所有的JS / HTML都正确之前我进行了一些编辑。然而,显然,javascript代码是由浏览器缓存的,当重新加载HTML(php生成的)页面时,javascript没有 - 导致javascript不完整,因此没有图表。解决缓存后,图表不会按预期显示。