【发布时间】:2018-11-28 20:27:49
【问题描述】:
我正在开发一个对 Django 的 Ajax 查询并且工作正常,返回正确的值,但是当我想访问该信息时,我得到了这个错误:
SyntaxError: missing name after . operator
我在 python 文件中用这些行返回了信息查询:
attributes = MyModel._meta.get_fields()
objects = MyModel.objects.all()
data = serializers.serialize('json', objects, fields=(attributes[1].name))
print(data)
return HttpResponse(data, content_type='application/json')
打印(数据)输出:
[{
"model": "contenttypes.contenttype",
"pk": 11,
"fields": {
"model": "accountingseat"}
},
{
"model": "contenttypes.contenttype",
"pk": 12,
"fields": {
"model": "bill"
}
}]
javascript 文件:
function functionName(param) {
for (var i = 0; i < param.length; i++) {
console.log(param[i]);
console.log(param[i].pk);
var fields = param[i]['fields'];
for (var x = 0; x < fields.length; x++) {
console.log(fields.[x]); //error line
}
}
}
console.log() 输出:
Object { model: "general.module", pk: 1, fields: { name: "General" } }
问题是我无法使用 name 访问,因为每个模型中的属性名称都发生了变化。
如何访问字段?提前致谢。
【问题讨论】:
-
fields是一个对象。查看如何遍历对象的键/值。 -
@DacreDenny
console.log(fields[x]);不要进入第二个循环 -
@FrankModica 你能告诉我如何遍历字段对象吗?我是 javascript 新手。
-
@AlbertoSanmartinMartinez 只是一个友好的提示,可以通过单击该答案旁边的“灰色勾号”来接受答案:)
标签: javascript json ajax django