我在更新 $cookieStore 后保留 cookie 值时遇到问题。下面是处理 cookie 的 UserService 的两种方法:
var getCurrentUser = function () {
return $cookieStore.get('currentUser');
};
var updateCurrentUser = function () {
return $http.get(baseUrl + 'api/session').then(function (response) {
$cookieStore.put('currentUser', response.data);
$rootScope.$broadcast('currentUser', response.data);
}, function (response) {
$cookieStore.remove('currentUser');
$rootScope.$broadcast('currentUser', null);
});
};
在整个应用程序中,执行会影响当前用户元数据的操作后,我调用UserService.updateCurrentUser()
它从服务器检索最新的用户数据并更新该 cookie。然后,在显示用户数据的地方,我有以下代码将更新该特定控制器中的用户模型:
$scope.$on('currentUser', function (event, data) {
$scope.user = data;
});
当我逐步执行代码时,一切似乎都正常工作。线路运行后$cookieStore.put('currentUser', response.data);
,可以通过检查来确认更新的值$cookieStore.get('currentUser')
。但是,当我使用浏览器工具检查实际 cookie 时,cookie 值不会更新。我不确定浏览器工具是否需要刷新才能显示新数据。但是当我刷新页面时,更新后的 cookie 值也不见了。到底是怎么回事?
提前致谢。