2014-02-26 91 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

只能注入其他供應商到供應商。只能在服務提供者的公共函數或配置塊中注入服務。

相關問題