从jQuery中的AJAX调用获取json数组值

时间:2014-01-15 22:16:32

标签: jquery ajax json

我有一个AJAX调用,我可以在我的控制台中看到我收到了这个JSON:

{
 "status": 400,
 "code": 11,
 "property": "validation",
 "errorMessages": [
    {
        "type": "m",
        "name": "2",
        "description": "The value must be less than or equal to 10"
    }
  ]
}

我试图像这样获取errorMessage的值,但没有运气:

    console.log(data.errorMessages[0].description);

其中data是JSON对象。

如何获得此描述值?

2 个答案:

答案 0 :(得分:0)

你可以这样做

opt = {
 "status": 400,
 "code": 11,
 "property": "validation",
 "errorMessages": [
    {
        "type": "m",
        "name": "2",
        "description": "The value must be less than or equal to 10"
    }
  ]
}

console.log(opt.errorMessages[0].description);

这是fiddle

答案 1 :(得分:0)

我猜您遗失的内容是jQuery.parseJSON,或者您可以dataType: 'json' ajaxSetup自动执行此操作(即将格式正确的JSON字符串转换为JavaScript对象)。当然,您只能为此特定的AJAX调用添加dataType: 'json'。 例如:

   $.ajax({
            type: 'POST',
            cache: false,
            dataType: 'json',
            url: <your URL>,
            data: <your input>,
            success: function(data, status, xhr) {
                console.log(data);
            },
            error: function(jqXHR, textStatus, errorThrown) {

            }
     });

还要确保从中获得响应的服务器在标头中发送正确的MIME类型,即'Content-Type: application/json'