我想获取cookie值并设置为提供者。这篇文章https://stackoverflow.com/a/20415679/772481提到了$ cookiesProvider。但是我该如何使用呢?
mod.config(["someProvider", "$cookiesProvider", function(someProvider, $cookiesProvider) {
someProvider.set('configs', {'token': $cookiesProvider["XSRF-TOKEN"]})
}]);
答案 0 :(得分:29)
您可以手动注入$cookies
:
myApp.config(function() {
var $cookies;
angular.injector(['ngCookies']).invoke(['$cookies', function(_$cookies_) {
$cookies = _$cookies_;
}]);
// here you can use $cookies as usual
});
答案 1 :(得分:12)
我想在每个http请求上设置特定的http标头,所以这是我的解决方案:
我正在使用run函数,因为在配置中我无法访问Cookie,请参阅http://docs.angularjs.org/guide/module
app.run(function run( $http, $cookies ){ $http.defaults.headers.common["X-AUTH-TOKEN"] = $cookies['AUTH-TOKEN']; });
如果您不想对该配置使用run函数(因为它很难进行单元测试),您可以为$ httpProvider编写一个拦截器,类似于:https://gist.github.com/lpsBetty/76df8d1f037db87f4a0b
答案 2 :(得分:1)
你也可以这样写:
$cookiesProvider.$get()["XSRF-TOKEN"]