Django:即使密钥存在,将AJAX POST数据传递给Django也会产生MultiValueDictKeyError

Django:即使密钥存在,将AJAX POST数据传递给Django也会产生MultiValueDictKeyError,第1张

Django:即使密钥存在,将AJAX POST数据传递给Django也会产生MultiValueDictKeyError

首先,在

$.ajax
通话中,不要直接将所有POST数据放入
data
属性中,而是将其添加到名称为的另一个属性中
json_data
。例如:

data: { hint: {'asdf':4} },

应该变成:

data: { json_data: { hint: {'asdf':4} } },

现在,

json_data
应该使用将转换为纯字符串
JSON.stringify

data: { json_data: JSON.stringify({ hint: {'asdf':4} }) },

这会将数据作为字符串传递给Django,可以通过以下方式检索:

data_string = request.POST.get('json_data')

可以将其转换为类似dict的对象(假设顶部

json
导入
import json
):

data_dict = json.loads(data_string)

或者,没有中间体

data_string

data_dict = json.loads(request.POST.get('json_data'))print data_dict['hint']['asdf'] # Should print 4


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存