我看不到我错过了什么。我似乎无法使用一点 ajax 运行 Google 图表 api。我做错了什么?
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var dataSet = $.ajax({
url: "phpdata.php",
async: false
}).responseText;
var data = google.visualization.arrayToDataTable([
dataSet
]);
var options = {
title: 'Company Performance'
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>
我的 PHP 数据:
['年份', '固定 Assets '],
['2009', 1],
['2010', 1.2],
['2011', 1.6]
最佳答案
我不知道它是否能解决您的问题,我在渲染从 ajax 调用调用的部分时遇到了类似的问题。 drawChart 函数没有被调用,这基本上意味着 setOnLoadCallback 没有按预期触发。为了克服这个问题,我修改了我的调用如下:
google.load("visualization", "1", {packages:["corechart"]});
//google.setOnLoadCallback(drawChart);
$(function() {
drawChart(); //works
});
function drawChart() {
}
所以基本上我离开了 google 方法,并制作了自己的自调用函数,每当页面呈现或 div 更新时就会调用该函数。
关于javascript - 谷歌图表与ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11751851/