谷歌图表未在浏览器/JSON中显示
Google Chart not displaying in browser / JSON
我正在尝试使用谷歌图表绘制时间序列图,如果有任何帮助,我们将不胜感激!
我正在尝试显示折线图。
我有一个html文件,它被正确下载到客户端浏览器,但没有显示任何内容。该文件名为gasdata.html
有一个对php文件的调用,该文件输出(通过echo)一些json文件供上述.html文件使用。
-
我的json中是否存在缺陷(它确实正确验证)?
-
我是否在我的html文件中不正确地实现了谷歌图表html?
这里的活动部件不多,但我不知所措。非常感谢您的帮助。
gasdata.html:
<html>
<head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.google.com/jsapi"></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.load('visualization', '1', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.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>
</html>
输出json:
{
cols: [{label: 'Date', type: 'date'},
{label: 'Production', type: 'number'}
],
rows: [{c:[{v: new Date(2015, 3, 18)},
{v: 76}
]},
{c:[{v: new Date(2015, 3, 17)},
{v: 75}
]},
{c:[{v: new Date(2015, 3, 16)},
{v: 74}
]},
{c:[{v: new Date(2015, 3, 15)},
{v: 73}
]},
{c:[{v: new Date(2015, 3, 14)},
{v: 72}
]}
]
}
谢谢,
您的JSON已损坏。JSON不允许有Date
之类的对象,并且对象键必须用引号(指定为字符串)包装。
请参阅http://json.org/以了解有关JSON中允许的内容的更多信息。
感谢您的帮助。这是我让它发挥作用所需要的。正如Evert在上面指出的,JSON格式错误。我的html也有问题。
下面是一个好的JSON示例:
{"cols": [{"label":"Date","type":"string"},
{"label":"Production","type":"number"}],
"rows": [{"c":[{"v":"3/5/2015"},{"v": 76}]},
{"c":[{"v":"3/4/2015"},{"v": 75}]},
{"c":[{"v":"3/3/2015"},{"v": 74}]},
{"c":[{"v":"3/2/2015"},{"v": 73}]},
{"c":[{"v":"3/1/2015"},{"v": 72}]}]}
此外,这里有一些好的html:
<html>
<head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var jsonData = $.ajax({
url: "getLinesData.php",
dataType:"json",
async: false
}).responseText;
var data = new google.visualization.DataTable(jsonData);
var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));
chart.draw(data);
}
</script>
</head>
<body>
<div id="curve_chart"></div>
</body>
</html>
相关文章:
- 不显示带有本地json文件数据的谷歌地图脚本
- Json显示来自网站的数据显示仅未定义
- 为什么这个JSON显示为未定义
- 使用 JavaScript 将数据 json 显示到网页中
- 使用 JQUERY 使用 PHP AJAX JSON 显示所有数据
- Javascript或jQuery方式将随机级别的JSON显示为HTML
- 获取 get JSON 显示数组中的值时遇到问题
- 在 SAPUI5 中将数据从 json 显示到文本框中
- JSON-显示值并添加新的一行
- 如何使用Javascript和JSON显示图像
- JSON:显示来自URL的图像
- Angular JSON显示单个结果,无需Ng重复过滤器
- 谷歌地图标记和嵌套JSON显示数据在地图信息窗口
- JSON:显示来自字符串的几个值
- 使用JSON显示来自多个facebook feed的帖子
- 使用getJSON查询json显示“undefined"而不是数据
- Facebook图表- Ajax / JSON显示url '份额'
- 无法在Javascript中使用PHP JSON显示完整日历中的MySQL事件
- 使用 AJAX 和 JSON 显示来自 PHP 的 HTML 内容
- 如何使用jQuery从JSON显示多个视频