我尝试从基于本指南的 php 文件中构造的 JSON 中解析数据:
https://google-developers.appspot.com/chart/interactive/docs/php_example?hl=en
我以一种很好的方式创建了我的 JSON,但是当我使用这段代码时,它似乎不能很好地读取 JSON:
function drawChart() {
var jsonData = $.ajax({
url: "loader.php",
dataType:"json",
async: false
}).responseText;
我认为 JSON 键中的双引号存在一些问题,因为在此示例中 Javascript 对象没有引号。所以在某个地方我应该错过什么?
我的脚本代码是:
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
function drawChart() {
var jsonData = $.ajax({
dataType:"json",
url: "loader.php",
async: false
}).responseText;
// Create our data table out of JSON data loaded from server.
var data = new google.visualization.DataTable(jsonData);
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, {title: 'Results', width: 400, height: 240});
}
</script>
我的loader.php
回报的源代码是:
{"cols":
[{"label":"Sources","type":"string"},
{"label":"Count","type":"number"}],
"rows":
[{"c":[{"v":"web"},{"v":"4757"}]},
{"c":[{"v":" iPhone"},{"v":"4324"}]},
{"c":[{"v":"Android"},{"v":"3294"}]},
{"c":[{"v":"BlackBerry\u00ae"},{"v":"2336"}]},
{"c":[{"v":"Instagram"},{"v":"951"}]}
]}
注意:图表加载良好,没有错误,但不加载 JSON。它说:其他100%。所以标签和行都没有正确加载。