我一直试图将Angular JS ngCookie模块和$ cookies服务注入Angular Provider,但没有成功。有人可以解释一下成功吗?
当我将ngCookies注入提供者
时angular.module('loginService', [])
.provider('loginService', function () {
var userToken = localStorage.getItem('userToken'),
errorState = 'app.error',
logoutState = 'app.home';
this.$get = function ($rootScope, $http, $q, $state) {
/**
* Low-level, private functions.
*/
var setHeaders = function (token) {
if (!token) {
delete $http.defaults.headers.common['X-Token'];
return;
}
$http.defaults.headers.common['X-Token'] = token.toString();
};
...
});
像这样:
angular.module('loginService', ['ngCookies'])
.provider('loginService', ['$cookies', function ($cookies) {
var userToken = localStorage.getItem('userToken'),
errorState = 'app.error',
logoutState = 'app.home';
我收到错误:
Unknown provider: $cookies
我怀疑我不能向服务提供商注入服务?我的问题是我正在调用一个Web服务,它将会话ID作为Set-Cookie标头返回。我想抓住ss-id但似乎无法从响应头中检索它,所以我以为我会从cookie中获取它。
我愿意接受更好的选择......
答案 0 :(得分:0)
您只能将其他提供商注入提供商。只能在提供者的公共函数或配置块中注入服务。