【发布时间】:2013-09-24 10:28:51
【问题描述】:
我有这样的要求:
$http({
method: 'POST',
url: '/url/',
data: 'test=data'
})
在我的 django 视图中:
class SomeClass(View):
def get(self, request):
return HttpResponse("Hello")
def post(self, request):
print request.post
print request.body
return HttpResponse("Done")
所以当我执行request.POST 时,我得到一个空查询字典:<QueryDict: {}>
但我的request.body 有:test=data
所以我相信 django 将数据作为 url 编码参数而不是作为字典接收。
如何以 JSON/Dict 格式发送或接收这些数据?
【问题讨论】:
-
代码是否正确?我认为你应该使用 request.POST 而不是 request.post。
-
代替
data,尝试params并给出一个对象而不是字符串。参考:docs.angularjs.org/api/ng.$http#parameters
标签: python django angularjs http-post