Угловой Js – установленный токен по умолчанию заголовка

Я пытаюсь добавить заголовок с моим токеном доступа к каждому вызову API. Он хорошо работает для всех запросов GET, но как только я пытаюсь сделать POST, заголовок не добавляется.

Вот как я добавляю токен:

app.factory('api', function ($http, $cookies) { return { init: function (token) { $http.defaults.headers.common['Token'] = token || $cookies.loginTokenCookie; } }; }); 

Который вызван отсюда:

 app.run(function ($cookies, $http, $location, $rootScope,api) { $rootScope.location = $location; api.init(); }); 

Я пробовал сделать это следующим образом:

 app.factory('api', function ($http, $cookies) { return { init: function (token) { $http.defaults.headers.common['Token'] = token || $cookies.loginTokenCookie; $http.defaults.headers.post['Token'] = token || $cookies.loginTokenCookie; } }; }); 

Но это также не работает. Он работает только тогда, когда я изменяю имя ключа заголовка следующим образом:

  $http.defaults.headers.post['Token-Post'] = token || $cookies.loginTokenCookie; 

Как назначить заголовок по умолчанию для сообщений и получать запросы в AngularJs?

Вместо того, чтобы помещать маркер в заголовки внутри каждой службы (или вызова), может быть лучше использовать перехватчик $http ( docs здесь ).

Затем вы можете поместить маркер по каждому запросу. Это будет работать, является ли запрос GET или POST.

Пример JS:

 $httpProvider.interceptors.push(function($q, $cookies) { return { 'request': function(config) { config.headers['Token'] = $cookies.loginTokenCookie; return config; } }; }); 

Возможно, я ошибаюсь, но почему бы не просто:

 app.config(['$httpProvider', function ($httpProvider) { $httpProvider.defaults.headers.post['token'] = 'your_token'; }]); 

Перехватчики более тяжелые и не нужны в этом случае

Давайте будем гением компьютера.