2014-02-26 55 views
0

我一直在尝试,没有成功,将Angular JS ngCookie模块和$ cookie服务注入Angular Provider。有人能解释一下成功的秘诀吗?如何注入ngCookies到提供者()

当我注入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中获取它。

我愿意虽然更好的替代品......

+1

您不能将工厂和服务注入提供者。 – Sai

+0

您只能在$ get函数中注入$ cookie –

回答

0

只能注入其他供应商到供应商。只能在服务提供者的公共函数或配置块中注入服务。

相关问题