重新刷新后保持全局变量活动,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存储链接,非常感谢您的澄清,您太棒了