2015-11-18 61 views
1

我在Cookie上存儲用戶對象,當客戶端再次訪問該站點時,我想使用此對象的屬性。

但是,當客戶端回來時,我的cookie對象看起來像[object object],而它的屬性看起來像undefined

這裏是我的代碼:

$scope.signup = function (user) { 
    $http.post('/api/signup', user) 
     .then(function (res) { 
      $cookies.put('user', res.data.user); //This is where I store my cookie. 
     }, function (res) { 

     }); 
}; 

當客戶端回來,我有這樣的代碼:

var lastUser = $cookies.get('user'); 
if (lastUser) $scope.lastName = lastUser.username; 
console.log(lastUser); // [object object] 
console.log(lastName); // undefined 

我能做些什麼,以獲得正確的餅乾信息?

+0

存儲對象的cookie是一個壞主意。使用本地存儲。 – epascarello

+0

感謝您的回答。你能告訴我爲什麼嗎? – Rodmentou

+0

http://stackoverflow.com/questions/3220660/local-storage-vs-cookies – epascarello

回答

2

嘗試,而不是:

window.localStorage.setItem('user', JSON.stringify(res.data.user)); 

然後你就可以得到隨之而來的訪問信息與:

var userData = JSON.parse(window.localStorage.getItem('user')); 

這樣你會避免很多的cookie頭痛。

+0

謝謝,@HunanRostomyan我現在要試一試。 – Rodmentou

+0

它的工作!謝謝! – Rodmentou