Javascript 通过AJAX JSON向Chart.js提供数据不起作用?
我正在构建一个仪表板,希望将数据库中的信息直接显示到Chart.js 我已经创建了Ajax,它返回正确的数据。我将其全部放在以下代码中:Javascript 通过AJAX JSON向Chart.js提供数据不起作用?,javascript,ajax,chart.js,Javascript,Ajax,Chart.js,我正在构建一个仪表板,希望将数据库中的信息直接显示到Chart.js 我已经创建了Ajax,它返回正确的数据。我将其全部放在以下代码中: $.ajax({ type: 'GET', url: "http://localhost/cwwa/web/app.php/AJAX/dashboard/", contentType: "application/json", success: function(json) { var ChartData = j
$.ajax({
type: 'GET',
url: "http://localhost/cwwa/web/app.php/AJAX/dashboard/",
contentType: "application/json",
success: function(json) {
var ChartData = json.enviFig;
var oacData = [
$.each(ChartData, function(i, item) {
{
value: ChartData[i].totalTonne;
color: "#F7464A";
highlight: "#FF5A5E";
label: ChartData[i].wasteType;
}
})
];
var rCM = document.getElementById("recycledChartMain").getContext("2d");
var recycledChartMain = new Chart(rCM).Pie(oacData);
}
});
但是,加载页面时,图形不会出现。Firebug也没有错误,只有与Chart.js文件相关的警告:
画布:尝试将strokeStyle或fillStyle设置为
字符串、画布渐变或画布图案均未被忽略
出什么问题了?您填充oacData的方式听起来不正确。我希望:
var oacData = [];
$.each(ChartData, function(i, item) {
oacData.push(
{
value: ChartData[i].totalTonne,
color: "#F7464A",
highlight: "#FF5A5E",
label: ChartData[i].wasteType
}
);
});
现在oacData是数组中的数组中的对象。 这就是Chart.js无法解析数据的原因。 只需省略以下括号:
var oacData = $.each(ChartData, function(i, item) {
{
value: ChartData[i].totalTonne;
color: "#F7464A";
highlight: "#FF5A5E";
label: ChartData[i].wasteType;
}
});
您将拥有一个包含对象的数组。它抛出了一个错误,说它在
wasteType之后缺少一个}
代码>但更改
到,
删除此错误,使其现在运行时不会出错。但是图表没有显示?代码已更正,在对象内部应使用逗号,而不是分号。