2

我正在尝试在 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');
  }

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

4

1 回答 1

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);
  });
于 2014-11-28T12:45:18.857 回答