我的数据有什么问题,通过JQuery AJAX请求收到了什么?

时间:2015-10-19 14:59:50

标签: javascript jquery json ajax

我正在使用以下代码进行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”,但不是。那么我做错了什么?

1 个答案:

答案 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);
    }
});