我正在从网址中获取一些数据-数据看起来像这样
{"Success":true,"Table":[{"yrmo":"2018-05","enrolled":5,"notenrolled":0},{"yrmo":"2018-06","enrolled":4,"notenrolled":0},{"yrmo":"2018-07","enrolled":8,"notenrolled":0},{"yrmo":"2018-08","enrolled":7,"notenrolled":0},{"yrmo":"2018-09","enrolled":7,"notenrolled":1},{"yrmo":"2018-10","enrolled":0,"notenrolled":0}],"Information":"OK"}
我将其加载到“数据”中,并将其输出到控制台,然后我就可以看到数据了
console.log(data);
返回
{Success: true, Table: Array(6), Information: "OK"}
如果我将data.Table发送到控制台,那也可以:
console.log(data.Table);
返回如下:
(6) [(...}, {...}, {...}, {...}, {...}, {...}]
将其扩展显示为:
0: {yrmo: "2018-05", enrolled: 5, notenrolled: 0}
1: {yrmo: "2018-06", enrolled: 4, notenrolled: 0}
2: {yrmo: "2018-07", enrolled: 8, notenrolled: 0}
3: {yrmo: "2018-08", enrolled: 7, notenrolled: 0}
4: {yrmo: "2018-09", enrolled: 7, notenrolled: 1}
5: {yrmo: "2018-10", enrolled: 0, notenrolled: 0}
一切都与我期望的一样-然后,我尝试使用$ .each遍历每个项目
$.each(data.Table, function(i, item) {
console.log(item);
});
(我也尝试过以相同的方式将item.yrmo,item.enrolled和item.notenrolled发送到控制台并获得相同的结果)
这时它中断并说“未捕获(承诺)TypeError:无法读取Test.aspx:60上未定义的属性'each'”
$。each行是哪条-我很困惑为什么它认为在显然不是的时候它是未定义的。
我可以通过尝试另一条路线来使其工作:
for (var j = 0; j < data.Table.length; j++){
var q = data.Table[j];
console.log(q.yrmo);
console.log(q.enrolled);
console.log(q.notenrolled);
}
这使我能够输出值-但是我对$ .each不起作用的原因感到困惑。
有什么想法吗?
答案 0 :(得分:0)
保罗·阿伯特(Paul Abbott)指出,没有正确加载jquery。我使用的是测试页,甚至没有检查过。
更正并运行,效果很好。
谢谢保罗-如果可以的话,我会标记您为正确!