我正在使用chart.js制作图表,但出现此错误:
未捕获的TypeError:无法读取未定义的属性'forEach' 在对象上。
错误来自的代码行是
var jsonData = $.ajax({
url: 'link',
dataType: 'json',
}).done(function (results) {
// Split timestamp and data into separate arrays
var labels = [], data=[];
results["packets"].forEach(function(packet) {
labels.push(new Date(packet.timestamp).formatMMDDYYYY());
data.push(parseFloat(packet.payloadString));
});
我看不出为什么这不起作用。
答案 0 :(得分:4)
您误读了错误消息。
这并不是说forEach
是未定义的,而是说您正在尝试从其他forEach
读取名为undefined
的属性。
在这种情况下,某些内容是results["packets"]
。
它是未定义的,因为您从link
返回的JSON不具有您认为的结构。您需要查看results
(例如,使用console.log(results)
并查看其实际结构)。