谷歌图表;未捕获错误:不是数组
Google charts; Uncaught Error: Not an array
我正在尝试使用Ajax加载Google图表,由于某种原因,被传回的数据说它不是一个数组。
这是页面上的Javascript,我希望图表显示:
<script>
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawCharts);
function drawCharts(){
// Each chart function
$.get('charts_ajax.php',{a : 'usage'}, function(data){
if(data){
initGoogleChart(data)
}
});
}
function initGoogleChart(data){
var tableData = google.visualization.arrayToDataTable(data);
var options = {
title: 'My Daily Activities'
};
var chart = new google.visualization.PieChart(document.getElementById('terms-table'));
chart.draw(tableData, options);
}
</script>
在charts_ajax.php文件中有这个:
if ($_GET['a'] == "usage") {
$arrTableData = array([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
echo $arrTableData;
}
当我控制台.log($arrTableData)时,我得到:
array(1) {
[0]=>
array(6) {
[0]=>
array(2) {
[0]=>
string(4) "Task"
[1]=>
string(13) "Hours per Day"
// etc etc..
那么你能告诉我为什么它说没有数组以及为什么它不起作用吗?
像这样更新你的php函数:
if ($_GET['a'] == "usage") {
$arrTableData = array(
array('Task', 'Hours per Day'),
array('Work', 11),
array('Eat', 2),
array('Commute', 2),
array('Watch TV', 2),
array('Sleep', 7)
);
echo json_encode($arrTableData);
}
在你的JavaScript函数中试试这个:
function initGoogleChart(data) {
var tableData = google.visualization.arrayToDataTable(JSON.parse(data));
...
}
你需要
在PHP中使用json_encode
函数:
echo json_encode($arrTableData);
您需要将其他两个答案结合起来。 使用 echo json_encode($arrTableData);
将数组输出为 JSON 编码的字符串,并使用 var tableData = google.visualization.arrayToDataTable(JSON.parse(data));
将 JSON 解码为 JavaScript 数组。
相关文章:
- JavaScript数组值设置错误
- jQuery Ajax数组序列化错误
- 如何避免“;使用数组文字表示法“;以下javascript代码中的jslint错误
- 使用Javascript向ID数组发送通知时出现Facebook访问令牌错误
- 断言错误:断言失败:坐标数组的长度应与步幅匹配
- 按 [field] 值对 javascript 数组进行排序会给出错误的顺序
- AngularJS错误处理:根据错误数组显示错误
- 数组类型字符串导致类型错误的对象
- 传递数组以馈送 svg.js 的折线数组方法会引发错误
- 给出动态数组时出现 jsTree 错误
- 嵌套的 Jquery 每个 2D 数组错误地重复表单元格
- 谷歌图表错误'不是数组'关于Ajax更新
- Javascript筛选器数组抛出错误并崩溃
- 如果字符串中存在错误,请检查数组中的char
- [可能的错误]数组中作为对象属性的值设置为未定义
- Knockout,无法解析空可观察数组中的绑定错误
- ember dev fixes错误:“;断言失败:findAll的响应必须是数组,而不是未定义的“”;
- 类型错误:数组未定义
- 没有定义引用错误数组
- 在我的javascript错误数组(键/值)中循环