0
我无法正确显示Google图表。我试图用Ajax和PHP来做到这一点。Google图表无法正确显示值
这是在页面上加载代码:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type='text/javascript'>
// Dummy Array for now
<?php
$php_array = array(
array('Terms', 'Visits'),
array('test', 25),
array('joke', 25),
array('funny', 50),
);
//Convert the PHP Array into a Javascript Array
$js_array = json_encode($php_array);
echo "var arrTableData = ". $js_array . ";\n";
?>
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawCharts);
function drawCharts(){
// Each chart function
$.getJSON('charts_ajax.php',{'a' : 'terms', 'd' : arrTableData }, function(data){
if(data){
initGoogleChart(data)
}else {
console.log("There is no data coming back");
}
});
}
function initGoogleChart(data){
var tableData = google.visualization.arrayToDataTable(data);
var options = {
title: 'Title'
};
var chart = new google.visualization.PieChart(document.getElementById('terms-table'));
chart.draw(tableData, options);
}
</script>
,并在charts_ajax.php文件中,有这样的数据:
<?php
if ($_GET['a'] == "terms") {
$arrTableData = $_GET['d'];
echo json_encode($arrTableData);
}
?>
这就是下图是输出:
有没有人可以对此进行说明,po可以帮我修好吗?
在您的'$ .getJSON'调用的回调函数中,添加以下行:console.dir(data);',在Chrome或Firefox中打开页面,并查看开发者的控制台。应该有一行输出数据的内容。它看起来像什么,它是一个字符串还是一个javascript数组(如果它是一个javascript数组的JSON字符串表示形式,这是一个重要的区别)? – asgallant