Как использовать 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"]
Другие вопросы по тегам