0
我嘗試使用谷歌可視化(首次 - 所以,請多多包涵)來構建一個簡單的柱形圖。由於我必須在包括Smarty在內的現有MVC結構中工作,所以事情變得更加複雜 - 但是這是一條路。谷歌可視化 - ChartWrapper - 表沒有列
在PHP中,我得到了正確的一組數據,這是我傳遞給智者的。 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>
但是在執行時,這會導致「表無數據」。
什麼是真正奇怪的是,如果我複製此生成的代碼,並直接粘貼到模板(沒有從傳遞的數據格式化),然後圖表顯示正確。
什麼可以在這裏是問題,如何解決?
這應該工作。如果您在運行時打開了控制檯,是否會看到其他可能導致此問題未被調用的js錯誤? 'access-chart'絕對是您的頁面上的一個元素ID,它在drawVisualization回調_之前存在_?你能粘貼頁面的整個來源嗎? – oli
沒有其他錯誤 - 只有「表沒有數據」一個。 'accesss-chart'元素存在,我得到一個白色的紅色文本「表中沒有數據」。整個頁面太大(超過500行html/js代碼) - 圖表只是其中的一小部分。 –
如果您將整個源代碼複製粘貼到新的html頁面並運行它,那麼該圖表是否會繪製?如果沒有,那麼頁面中還有其他東西會與之混淆。如果是這樣,那麼在渲染過程中可能會發生一些事情。 – oli