我正在从 Jquery AJAX 迁移到 Axios,因为我使用的是 ReactJS,所以我认为它更干净,我在向服务器发布一个简单的请求时遇到了一些麻烦,post 方法会通过我的视图,但每当我print(request.POST)
,我有一个空的查询集(<QueryDict: {}>
).
axios({
method: 'post',
url: SITE_DOMAIN_NAME + '/my_url_name/',
data: {
'tes1':'test',
'tes2':'test'
},
headers: {
"X-CSRFToken": CSRF_TOKEN,
"content-type": "application/json"
}
}).then(function (response) {
console.log(response)
}).catch(function (error) {
console.log(error)
});
Django 视图是一个简单的ClassBasedView。
我究竟做错了什么?
request.POST
仅适用于表单编码数据。如果您要发布 JSON,那么您应该使用request.body
反而。
import json
json.loads(request.body.decode('utf-8'))
如果您这样做,您将必须更改基于类的视图才能使用request.body
反而。
如果您想让 axios 发送表单编码数据,这个问题 https://github.com/axios/axios/issues/362GitHub 上可能会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)