我使用 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 中获取我的参数?
最佳答案
这看起来不像预期的那样:
<QueryDict: {u'params[nood_id]': [u'f55dbe56-7fa8-4d13-8e1e-2dc67499b6ac']}>
尤其不是这部分:u'params[nood_id]'
。这意味着你的错误已经发生在 javascript 端 => 不知何故你的 params 对象被部分字符串化了?我不确定发生了什么,我觉得这很可疑。
在您的 Django View 中,您应该能够使用 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,
})
关于python - 我怎样才能在 QueryDict 中获取我的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46488148/