我遇到了$ 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值也无处可见。发生了什么事?
提前致谢。