我有这个脚本:
<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].model
,data.model
重要我想澄清一下,我不知道为什么有2个json对象我应该得到一个,即使我试图放一个[1]而不是[0]我得到同样的错误。
我已尝试过以前类似问题的答案,但他们没有帮助。
答案 0 :(得分:1)
您可以按
访问字段data.json[0].fields
您的网址的响应是一个名为 json
的数组此外data.json
返回一个字符串,因此使用
data.json = JSON.parse(data.json);
答案 1 :(得分:0)
首先将其转换为JSON JSON.parse(data.json)
这将使您可以访问字段对象data.json[0].fields