2014-12-23 93 views
0

我是Agnular的新手,我想了解如何在我的應用程序中設置和檢索cookie。我成功設置和使用ngCookies模塊獲取cookie至今,但我被困在一個地方,我無法將它們作爲我的$資源請求中的url參數傳遞。我services.js文件看起來像這樣:

angular.module('airlineServices', ['ngResource', 'ngCookies']) 
    .factory('Airport', function($resource, $cookieStore){ 
     return $resource("http://angulairapi.rohanchhabra.in/airports/:airportCode", { 
      'auth_token': function($cookieStore){ 
       return $cookieStore.get('auth_token'); 
      } 
     }, { 
      query: { method: "GET", isArray: false } 
     }); 
    }) 
    .factory('Flight', function($resource){ 
     return $resource("http://angulairapi.rohanchhabra.in/flights"); 
    }) 
    .factory('Reservation', function($resource){ 
     return $resource("http://angulairapi.rohanchhabra.in/reservations/:id"); 
    }); 

現在,在當我在URL參數部分設置的auth_token,我試圖用一個回調函數來設置。

當我返回的auth_token,它的工作原理,但對原始值當我嘗試通過檢索,我已經保存在我的瀏覽器cookie中動態地做到這一點,我得到一個錯誤,像這樣:

Error: $cookieStore is undefined 
[email protected]://localhost/angulair/js/services.js:5:5 
r/<@http://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular-resource.min.js:6:487 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:7:390 

等等......

我在做什麼錯?

+0

我想你需要刪除$ cookieStore的第二個聲明:'auth_token':function($ cookieStore)< - 這裏。當你在控制器/工廠函數中寫入$ cookieStore時 - 這意味着注入。當你把它寫在通常的函數中 - 你只需要命名你的局部變量。 –

+0

哇!那是一個愚蠢的錯誤。現在就像魅力一樣。發佈一個答案,我會接受它。謝謝。 – Rohan

回答

0

我不得不嘗試將其作爲參數傳遞到刪除的$cookieStore: 'auth_token': function($cookieStore) <- here.

我無意重新命名我的本地變量的第二個聲明。