我正在尝试在jQuery中使用.get()向服务器发送请求并使用Django框架返回python对象。 使用
data = serializers.serialize('json', ExampleModel.objects.all())
return HttpResponse(data, 'application/json')
我可以在javascript端得到一个对象集合,如下所示:[object Object] [object Object] 但是从这些对象调用任何参数或函数似乎是不可能的。我试过这个:
for (x in data){
alert(data[x].parameter);
}
结果我得到了几个“未定义”。谁能解释为什么?感谢。
答案 0 :(得分:0)
Django的JSON序列化程序将每个对象放在像{'id': 123, 'model': 'app.Model', fields:{'name': 'blah', 'active': true}}
这样的复杂结构中,因此您需要在JS中正确检索值。您可以使用Firebug for Firefox或Web Inspector for Chrome在回调中设置断点并内省接收到的数据。
答案 1 :(得分:0)
因为您正在访问未定义的parameter
。以ilvar为例,
eval('data='+"{'id': 123, 'model': 'app.Model', fields:{'name': 'blah', 'active': true}}")
for (var x in data){
console.info(x, '=>', data[x])
}
// will outputs
id => 123
model => app.Model
fields => Object
123
,"app.Model"
或Object
都没有parameter
属性