无法接收作为json传输到js的python对象的属性

时间:2017-04-06 23:49:08

标签: javascript json ajax django

通过json序列化将django对象queryset传递给js。

 result = Event.objects.filter(title__istartswith=key)
 events = serializers.serialize('json', result)

 data = {
    'events': events,

}
 return Response(data)

在js函数中,它已成功解析,

 var sed = JSON.parse(data['events'])
         alert(JSON.stringify(sed))

结果如下:

[{"model":"app.event","pk":66,"fields":{"city":"Запорожье","title":"Приглашение на казнь","date":" 04 апреля 2017 г","hashtag":"Театры","place":"Запорожский областной академический украинский музыкально-драматический театр им В.Г.Магара","image_link":"https://image.karabas.com/w/350/h/496/f/files/import/1100376762_ImageBig636196519366969017.jpg","description":"\nСпектакль Приглашение на казнь в Запорожье состоится 04 апреля 2017 г, 19:00. "}},{"model":"app.event","pk":94,"fields":{"city":"Киев","title":"Птицы или просто Моль","date":" 05 апреля 2017 г","hashtag":"Театры","place":"Театр «Дивний замок»","image_link":"https://image.karabas.com/w/350/h/496/f/files/import/1037587642_ImageBig636156960481061608.jpg","description":"\nСпектакль Птицы или просто Моль в Киеве состоится 05 апреля 2017 г, 19:00."}]

但是下面的代码不起作用,我认为它可能会这样:

for (var e in sed) {

                          alert(e.title)

                      }

但它只是未定义。也尝试了

 alert(e['title'])

这可能是正确的,但如果我尝试这样做,即使警报也不起作用:

 for (var e in data) {

                          alert(e.fields.title);

                      }

也没有帮助。如何正确接收数据?

1 个答案:

答案 0 :(得分:1)

检查你的json结构,我认为它应该是e.fields.title