【发布时间】:2016-01-13 14:20:50
【问题描述】:
我正在创建一个 SPA Web 应用程序并使用 SessionStorage 将当前用户信息存储在我的浏览器中。我使用 Chrome 进行测试。 在测试过程中,我发现当用户登录成功时,SessionStorage 将在控制台中更新,但是当我在刷新页面之前无法访问这个附加值时。
我该如何解决这个问题?
这是我的 Angular 服务,负责在 sessionStorage 中存储和检索 currentUser :
app.service("sessionStorageService", ["$window","$q", function ($window, $q) {
var deferred = $q.defer();
this.setCurrentUser = function (user) {
$window.sessionStorage["currentUser"] = JSON.stringify(user);
},
this.getCurrentUser = function () {
if ($window.sessionStorage["currentUser"]) {
console.log("bega") ;
deferred.resolve(JSON.parse($window.sessionStorage["currentUser"]));
return deferred.promise;
} else {
console.log("bega1") ;
deferred.reject("No Login User");
return deferred.promise ;
}
};
}]);
这家商店同时成功,但为了检索当前用户,我必须刷新页面。而且因为水疗中心,我不可能:(
【问题讨论】:
-
你能贴出你的代码吗
标签: javascript angularjs html