[英]Trouble accessing JSON data
我在通过AJAX调用访问JSON数据时遇到一些麻烦。
JSON格式
{
"Ongoing": [
{"name": "meh"},
{"name": "hem"}
],
"Completed": [
{"name": "kfg"},
{"name": "dkfgd"}
]
}
JS
$.ajax({
type: "GET",
dataType: "json",
url: "script/projects.json",
complete: function(data){
for(var i = 0; i < data.Ongoing.length; i++){
console.log(data.Ongoing[i].name);
}
}
})
当我写到控制台时,出现以下错误:
TypeError: Cannot read property 'length' of undefined
因此,出于某种原因,它使该数组未定义的问题消除了。
我已经将JSON传递给了验证器,所以我知道它是有效的JSON。 我知道jQuery的$.ajax
自动解析JSON。 所以我很困惑,我应该能够像普通对象一样访问数据。 谁能向我解释我做错了什么并提供解决方法的解释?
下图显示了简单地将data
写入控制台显示的内容。
您的Ongoing
是一个数组,因此您必须首先访问一个元素:
console.log(data.Ongoing[0].name);
您的Ongoing
属性包含一个数组
"Ongoing": [ {"name": "meh"}, {"name": "hem"} ]
要访问一个,您可以循环执行
$.each(data.Ongoing, function(index, value) {
console.log(value.name);
});
您必须通过网络服务器加载file://
,使用file://
加载file://
但是可以使用--allow-file-access-from-files
标志在Chrome中覆盖此--allow-file-access-from-files
代码很好。 您的问题出在请求中。 检查网址
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.