我正在使用以下代码进行API调用:
$.ajax({
type: "GET",
url: "https://example/example.json",
beforeSend: function(xhr) {
xhr.setRequestHeader("apikey", "user")
},
success: function(data){
alert(data.folder.item);
}
})
除了控制台中的错误说:
之外,什么都不返回“未捕获的TypeError:无法读取未定义的属性'item'
当我在浏览器中使用url时,JSON数据看起来像这样:
{
"folder": {
"item": 123123,
"item 2": false,
"item 3": "content",
"item 4": [
{
"subitem": "content"
},
{
"subitem": "content2"
}
]
}
}
我在预警箱中期待“123123”,但不是。那么我做错了什么?
答案 0 :(得分:1)
如果它是一个JSON字符串,你需要解析它。试试这个:
$.ajax({
type: "GET",
url: "https://example/example.json",
beforeSend: function(xhr) {
xhr.setRequestHeader("apikey", "user")
},
success: function(data){
var parsed = JSON.parse(data);
alert(parsed.folder.item);
}
});
或者强制jquery为你解析它:
$.ajax({
type: "GET",
url: "https://example/example.json",
dataType: 'json',
beforeSend: function(xhr) {
xhr.setRequestHeader("apikey", "user")
},
success: function(data){
alert(data.folder.item);
}
});