我正在使用React + Django,并试图使用axios发出post请求,但由于csrf而失败。我已经尝试了网上发布的所有类似问题的答案,但由于某种奇怪的原因,它们都不起作用。
//Django View
def createUser(request):
username = request.POST['username']
email = request.POST['email']
resp = {
'username' : username,
'email' : email
}
return JsonResponse(resp)
//Axios Post
axios.post('http://localhost:8000/api/createUser/',{
username : 'xyz',
email : 'xyz@gmail.com'
},
{
headers: {
Content-Type': 'application/json',
}
});
已尝试添加默认值
axios.defaults.xsrfHeaderName = "X-CSRFTOKEN";
axios.defaults.xsrfCookieName = "csrftoken";
但获取csrf仍然失败。我知道我可以在视图上做@csrf_exempt,但我想保持csrf检查。
发布于 2019-08-19 12:14:04
除了X-CSRFToken标头之外,还可以使用withCredentials: true
在axios请求中包含cookies
https://stackoverflow.com/questions/50646134
复制相似问题