Как использовать cookiesProvider в угловом конфиге
Я хочу получить значение cookie и установить поставщика. В этом посте /questions/43479359/pochemu-ya-ne-mogu-vvesti-cookie-fajlyi-angular/43479366#43479366 упоминается $cookiesProvider. Но как мне это использовать?
mod.config(["someProvider", "$cookiesProvider", function(someProvider, $cookiesProvider) {
someProvider.set('configs', {'token': $cookiesProvider["XSRF-TOKEN"]})
}]);
3 ответа
Я хотел установить конкретные заголовки http для каждого запроса http, так что это мое решение:
Я использую функцию запуска, потому что в конфиге я не смог получить доступ к куки, см. http://docs.angularjs.org/guide/module
app.run (запуск функции ( $http, $cookies){ $http.defaults.headers.common["X-AUTH-TOKEN"] = $cookies['AUTH-TOKEN']; });
Если вы не хотите использовать функцию запуска для этой конфигурации (потому что это сложно для модульного тестирования), вы можете написать перехватчик для $httpProvider, аналогично следующему: https://gist.github.com/lpsBetty/76df8d1f037db87f4a0b
Вы можете ввести $cookies
вручную:
myApp.config(function() {
var $cookies;
angular.injector(['ngCookies']).invoke(['$cookies', function(_$cookies_) {
$cookies = _$cookies_;
}]);
// here you can use $cookies as usual
});
Также вы можете написать что-то вроде этого:
$cookiesProvider.$get()["XSRF-TOKEN"]