2015-11-18 20 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