无法从json对象

时间:2017-08-15 07:10:09

标签: javascript json ajax django

我有这个脚本:

<script type="text/javascript">
        function requestimg(username){
                $.ajax({
                    url: '{% url "image" %}',
                    data: {
                      'username': username
                    },
                    dataType: 'json',
                    success: function (data) {
                        if (data) {
                            //Printing the whole data
                            console.log(data);
                            //Printing to see where I am
                            console.log("Name: ");
                            //Trying to rint the name
                            console.log(data[0].nombre);
                        }else {
                             alert("May Day");
                        }
                    }
                });
        }

我在读取json对象中的属性时遇到问题 当我打印数据时,我得到了这个:

{
    json: "[
        {
            "model": "polls.imagen",
            "pk": 17,
            "fields": {
                "n…"36",
                "imagen": "polls/static/pictures/dr.jpg"
            }
        }
    ]"
}

当我在代码上打印数据时,我得到:

Uncaught TypeError: Cannot read property 'nombre' of undefined

我试过像data.nombre那样编写它,但我得到的是undefined

我也试过这个console.log(data[0].fields);data[0].modeldata.model

重要我想澄清一下,我不知道为什么有2个json对象我应该得到一个,即使我试图放一个[1]而不是[0]我得到同样的错误。

我已尝试过以前类似问题的答案,但他们没有帮助。

2 个答案:

答案 0 :(得分:1)

您可以按

访问字段
data.json[0].fields

您的网址的响应是一个名为 json

的数组

此外data.json返回一个字符串,因此使用

将其转换为JSON
data.json = JSON.parse(data.json);

答案 1 :(得分:0)

首先将其转换为JSON JSON.parse(data.json)

这将使您可以访问字段对象data.json[0].fields