Extjs 仅在刷新页面后设置localStorage
我正在尝试自动登录应用程序。因此,我在登录控制器中设置了一些本地存储项Extjs 仅在刷新页面后设置localStorage,extjs,Extjs,我正在尝试自动登录应用程序。因此,我在登录控制器中设置了一些本地存储项 localStorage.setItem("session", me.sessionToken); localStorage.setItem("loggedin", true); 我的app.js看起来就是这样 launch: function() { if(!localStorage.getItem("loggedin")){ Ext.Viewport.add([
localStorage.setItem("session", me.sessionToken);
localStorage.setItem("loggedin", true);
我的app.js看起来就是这样
launch: function() {
if(!localStorage.getItem("loggedin")){
Ext.Viewport.add([
{ xtype: 'loginview' },
{ xtype: 'main' }
]);
} else {
Ext.Viewport.add([
{ xtype: 'main' },
{ xtype: 'loginview' }
]);
}
}
这个很好用。但是在我第一次登录后第一次显示loginview视图时,没有设置localStorage。它说我的会话为空,我的loggedin为空。我必须刷新页面,然后一切都设置好了,我可以看到本地存储的值
有人知道如何修复它吗?localStorage会立即更新,因此getter会在setter之前出现,这意味着在不刷新页面的情况下,无法将其用于登录身份验证?localStorage.clear();window.location.reload();在设置新值之前。。。但是它看起来不太好。你能不能在单独的页面上验证/设置会话,然后重定向到已验证的页面?我就是这么做的。我使用php脚本对登录进行身份验证。如果我得到的响应success=true,那么用户将被重定向到主视图,否则他将再次被重定向到登录视图。这个很好用。但是如果我想使用localStorage,它就是空的。所以我必须重新加载页面才能看到值。