重新刷新后保持全局变量活动,javascript
场景: 比如说,我们有一个应用程序,它的工作原理如下:重新刷新后保持全局变量活动,javascript,javascript,session-state,Javascript,Session State,场景: 比如说,我们有一个应用程序,它的工作原理如下: Header Content footer 页眉和页脚是静态的,而内容是一个div,通过ajax调用它来加载特定的视图 因此,基本上,我们的第一个视图是登录,在调用登录控件后,我们得到一个列表并在应用程序中移动,而不改变链接结构,从而导致ajax div内容调用 问题: 刷新时,我们返回登录页面,而不是主视图,主视图显示登录控制器答案附带的所有选项。我试图将这些选项保留在一个全局变量中,但是在刷新之后,所有数据都会被删除,即使会
Header
Content
footer
页眉和页脚是静态的,而内容是一个div,通过ajax调用它来加载特定的视图
因此,基本上,我们的第一个视图是登录,在调用登录控件后,我们得到一个列表并在应用程序中移动,而不改变链接结构,从而导致ajax div内容调用
问题:
刷新时,我们返回登录页面,而不是主视图,主视图显示登录控制器答案附带的所有选项。我试图将这些选项保留在一个全局变量中,但是在刷新之后,所有数据都会被删除,即使会话处于活动状态(通过会话cookie),我也无法返回主视图,我只能在再次发送用户和pw时返回,这是我无法做到的。最终,将用户和pw存储到Cookie中不是一个选项
有什么建议可以解决这个问题吗?您可以使用它在重新加载之间存储全局变量的值
DOM存储是客户端密钥/值存储
localStorage.setItem('key', value);
value = localStorage.getItem('key');
有两种变体:
会话存储
,这将存储用户会话时间的值localStorage
,这将在会话之间保留数据如果您必须支持古老的浏览器,您可以使用它在重新加载之间存储值。似乎可以很好地实现这一点。您需要将用户的登录状态存储在某个位置。无论是在本地存储、会话存储、cookie中,还是在服务器上。很抱歉我的无知可能会重复,但是当你说“在用户会话期间”,你的确切意思是什么?“只要我的会话cookie还活着,页面会话就会持续,只要浏览器处于打开状态,页面会话就会在页面重新加载和恢复过程中存活。”——来自DOM存储链接,非常感谢您的澄清,您太棒了