使用ajax从嵌套的json获取值

时间:2013-12-26 06:36:27

标签: ajax json nested

我有这样的代码:

$.ajax({
    url: "admin/dashboard/notif",
    dataType: 'json',
    success: function( response ) {
        $.each(response, function(key, value) {
            $.gritter.add({
                title: 'blablabla',
                text: '<a href="'+value.link+'">'+value.message+'</a>',
                sticky: true,
                time: '',
                class_name: 'my-sticky-class'
            });
        });
    } //end success

});

表示json像这样:

[
  [
    {
        "_links": {
            "self": {
                "href": "/admin/xxx/notif/id-1?format=json"
            }
        },
        "message": "blbalbalbla",
        "link": "http://localhost/testing1"
    }
  ],
  [
    {
        "_links": {
            "self": {
                "href": "/admin/xxx/notif/id-2?format=json"
            }
        },
        "message": "blbalbalbla2",
        "link": "http://localhost/testing2"
    }
  ]
]

但它将从ajax返回“unidentified”.. 请帮我获取每个数据的“链接”和“消息”, 我花了超过2小时才找到解决方案.. :(

1 个答案:

答案 0 :(得分:0)

你必须检查value是否为空,value仍然是一个数组,你必须得到它的第一个元素。

success: function( response ) {
    $.each(response, function(key, value) {
        if (value && value[0])
            $.gritter.add({
               title: 'blablabla',
               text: '<a href="'+value[0].link+'">'+value[0].message+'</a>',
               sticky: true,
               time: '',
               class_name: 'my-sticky-class'
            });
        }
    });
} //end success