我正在处理一个通过CSV文件从另一个系统导出的银行/结帐项目表。它们被导入到视图中并检查是否重复,然后再以HTML表的形式呈现给用户进行最终检查。
一旦选中,它们就会通过AJAX发送到服务器,以便可以将它们添加到Django模型中。包括CSRF在内的所有内容都可以正常运行,但是尽管可以看到它,但我无法访问POSTed变量!
不幸的是,由于有80多个行要处理,因此制作隐藏表单是不可行的。
我的 JavaScript 如下:
$.ajax({
type: 'POST',
url: '......./ajax/handleImports/',
data: entriesObj,
success: function (data) {
if (data.response && data.response) {
console.log("Update was successful");
console.log(data.entries)
} else { ... }
},
error: function() { ... }
entriesObj在哪里
var entriesObj = JSON.stringify({ "newentries": newEntries });
console.log(entriesObj)
,并转储到console.log时,如下所示:
{"newentries":[{"Include":"","Upload ID":"0","Date":"2019-01-09", ... }
现在当我返回整个request.POST对象作为data.entry时,在 view.py 中使用
context['entries'] = request.POST
return JsonResponse(context)
我明白了
{"{"newentries":[{"Include":"","Upload ID":"0","Date":"2019-01-09", ... }
但是,如果我尝试通过以下方式检索新条目:
entries = request.POST.get('newentries', None)
context['entries'] = entries
return JsonResponse(context)
console.log(data.entries)将输出null吗?
我应该如何访问POSTed条目Obj?
答案 0 :(得分:2)
数据为JSON,您需要从request.body
获取值并进行解析。
data = json.loads(request.body)
entries = data.get('newentries')