我试图在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');
}
这只返回没有配置文件对象的用户对象。我在这里做错了什么?
答案 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);
});