Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 仅在刷新页面后设置localStorage_Extjs - Fatal编程技术网

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,它就是空的。所以我必须重新加载页面才能看到值。