我使用ajax将数据传递给views.py:
var params = {'nood_id':'f55dbe56-7fa8-4d13-8e1e-2dc67499b6ac'}
$.ajax({
type:'post',
url:'/api/nood_detail/',
data:{'params':params},
dataType:'json',
success:success_func,
})
在views.py中,request.POST
如下:
<QueryDict: {u'params[nood_id]': [u'f55dbe56-7fa8-4d13-8e1e-2dc67499b6ac']}>
我无法使用request.POST.get(“params”)获取参数,也无法获取nood_id
。
如何在QueryDict中获取我的参数?
答案 0 :(得分:1)
这看起来不像预期:
<QueryDict: {u'params[nood_id]': [u'f55dbe56-7fa8-4d13-8e1e-2dc67499b6ac']}>
尤其不是这部分:u'params[nood_id]'
。这意味着你的错误已经发生在javascript side =&gt;不知怎的,你的params对象被部分字符串化?我不知道发生了什么事,对我来说看起来很可疑。
在你的Django视图中,你应该可以使用request.POST.get('nood_id')
或者你想要的结构 - 但你的JS必须正确发送它。
尝试将JS更改为:
var params = {'nood_id':'f55dbe56-7fa8-4d13-8e1e-2dc67499b6ac'}
$.ajax({
type: 'post',
url: '/api/nood_detail/',
data: params,
dataType: 'json',
success: success_func,
})