我是 PHP 新手,第一次使用 JSON 来使用 Google 图表绘制图表。我正在从 sql server 数据库中提取数据并生成 JSON 文件。
JSON 文件在服务器上生成良好,如下所示:
{"cols":[{"label":"SecurityID","type":"string"},{"label":"PositionDate","type":"string"},{"label":"LastUpdate" ,"type":"string"}],"rows":[{"c":[{"v":"528228"},{"v":"10-08-2017"},{"v" :"2017 年 8 月 10 日 19:47:04:067"}]},{"c":[{"v":"271239"},{"v":"07-09-2017"},{"v ":"2017 年 9 月 6 日 15:07:08:023"}]},{"c":[{"v":"271240"},{"v":"08-09-2017"},{" v":"2017 年 9 月 12 日 09:42:09:883"}]},{"c":[{"v":"614800"},{"v":"08-09-2017"},{ “v”:“2017 年 10 月 15 日 14:26:10:600"}]},{"c":[{"v":"703806"},{"v":"15-09-2017"},{"v":"2017 年 9 月 15 日 16:24:20 :913"}]},{"c":[{"v":"580428"},{"v":"20-09-2017"},{"v":"2017 年 9 月 19 日 17:35: 15:130"}]},{"c":[{"v":"267909"},{"v":"22-09-2017"},{"v":"2017 年 9 月 21 日 18:06 :05:800"}]},{"c":[{"v":"639862"},{"v":"27-09-2017"},{"v":"06 Nov 2017 11: 58:12:310"}]}]}{"v":"2017 年 9 月 19 日 17:35:15:130"}]},{"c":[{"v":"267909"},{"v":"22-09-2017"} ,{"v":"2017 年 9 月 21 日 18:06:05:800"}]},{"c":[{"v":"639862"},{"v":"27-09-2017" },{"v":"2017 年 11 月 6 日 11:58:12:310"}]}]}{"v":"2017 年 9 月 19 日 17:35:15:130"}]},{"c":[{"v":"267909"},{"v":"22-09-2017"} ,{"v":"2017 年 9 月 21 日 18:06:05:800"}]},{"c":[{"v":"639862"},{"v":"27-09-2017" },{"v":"2017 年 11 月 6 日 11:58:12:310"}]}]}
同时,我尝试绘制它,但没有输出。查看 chrome 上的错误,我在下面看到:
未捕获(承诺)错误: https ://www.gstatic.com/charts/45.2/js/jsapi_compiled_format_module.js 无效的 JSON 字符串:
我要绘制的代码如下:
<html> <head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.charts.load('current', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var jsonData = $.ajax({
url: "getData.php",
dataType: "json",
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, {width: 400, height: 240});
}
</script> </head>
<body>
<!--Div that will hold the pie chart-->
<div id="chart_div"></div> </body>