gpt4 book ai didi

django - Angular 、django 和 csrf

转载 作者:行者123 更新时间:2023-12-03 21:10:17 25 4
gpt4 key购买 nike

来自 http://docs.angularjs.org/api/ng .$http ,它说我们应该设置默认 header 以包含 token ,所以我正在关注它。

我的代码是这样的

var myapp = angular.module('myapp', ['ngCookies', 'ui.bootstrap']).
config(['$routeProvider', function($routeProvider, $httpProvider, $cookies){
$routeProvider.
when('/', {
templateUrl: '/partials/home.html',
controller: HomeCtrl
}).
when('/game/:gameId/shortlist/create',{
templateUrl: '/partials/create-shortlist.html',
controller: CreateShortlistCtrl
}).
otherwise({redirectTo: '/'});
}]);

myapp.run(function($rootScope, $http, $cookies, $httpProvider){
$http.get('/api/get-current-user').success(function(data){
$rootScope.current_user = data;
$rootScope.current_team = $rootScope.current_user.team;
});
$http.get('/api/get-current-season').success(function(data){
$rootScope.current_season = data;
});
$rootScope.csrf_token = $cookies.csrftoken;
console.log($httpProvider.defaults.headers.common);
//$httpProvider.defaults.headers.post['X-CSRFToken'] = $cookies.csrftoken;
});

如您所见,我应用了多种方法,但无法使用 csrf token 设置 header 。我遇到的两个错误是

Uncaught Error: Unknown provider: $httpProviderProvider <- $httpProvider



我究竟做错了什么?

最佳答案

如果您使用 AngularJS 1.1.3 或更新版本,您可以使用 xsrfHeaderNamexsrfCookieName :

var myapp = angular.module('myapp', ['ngCookies', 'ui.bootstrap']).
config(['$routeProvider', function($routeProvider, $httpProvider, $cookies){
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
$httpProvider.defaults.xsrfCookieName = 'csrftoken';
...

$location在 1.1.3 文档中。

关于django - Angular 、django 和 csrf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16663574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com