使用Angular 1.2在cookie中设置和获取对象

时间:2014-11-28 12:33:41

标签: angularjs angular-cookies

我试图在Cookie中设置用户属性。登录时,将运行以下代码:

$scope.$parent.session.user = response.data.user;

// Get profile information
$http.get('api/v1/profiles/' + response.data.user.id)
  .then(function(response){
    $scope.$parent.session.user.profile = response.data;
  });

// Set cookie data
console.log($scope.$parent.session.user);
$cookieStore.put('user', $scope.$parent.session.user);

记录的数据包括配置文件对象,因此我假设它也被放入cookie中。

加载应用程序后,我会查找以下内容的Cookie:

if ($cookieStore.get('user')){
    $scope.session.user = $cookieStore.get('user');
  }

这只返回没有配置文件对象的用户对象。我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

你说它被正确记录是很奇怪的,但它仍然看起来像一个同步问题。你应该在$ http回调的主体中设置cookie ..

$http.get('api/v1/profiles/' + response.data.user.id)
  .then(function(response){
    $scope.$parent.session.user.profile = response.data;
    $cookieStore.put('user', $scope.$parent.session.user);
  });