我从我的本地主机执行POST请求到远程django api时收到CSRF令牌缺失或不正确的错误。CSRF令牌丢失或不正确。 Django + AngularJS
我对AngularJS设置:
.config(['$httpProvider', function($httpProvider){
$httpProvider.defaults.xsrfCookieName = 'csrftoken';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
}]);
但IM仍然得到CSRF令牌丢失或不正确错误。
我检查哪些标题正在发送,显然角度不发送HTTP_X_CSRFTOKEN
。
但我可以看到cookie csrftoken =发送了一些东西。
有谁知道发生了什么事?
请求头
POST /s/login/ HTTP/1.1
Host: server.somewhere.io:8000
Connection: keep-alive
Content-Length: 290
Pragma: no-cache
Cache-Control: no-cache
Accept: application/json, text/plain, */*
Origin: http://localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
Content-Type: application/json;charset=UTF-8
Referer: http://localhost/thesocialmarkt/
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en;q=0.8,en-US;q=0.6,pt-BR;q=0.4,pt;q=0.2
Cookie: csrftoken=hiYq1bCNux1mTeQuI4eNgi97qir8pivi; sessionid=1nn1phjab5yd71yfu5k8ghdch2ho6exc
这是一个重复? http://stackoverflow.com/questions/18156452/django-csrf-token-angularjs –
不是因为我仍然有问题。 –
你的django restframework设置是什么? –