刷新后保持全局变量活着,javascript

时间:2014-05-28 18:15:11

标签: javascript session-state

情境:

让我们说我们有和app的工作方式如下:

 Header

 Content

 footer

页眉和页脚是静态的,内容是一个div,通过ajax调用来加载特定的视图。

所以基本上,我们的第一个视图是登录,在调用登录控制之后,我们得到一个列表并在应用程序中移动而不更改链接结构导致ajax div内容调用。

问题:

当我们刷新时,我们返回登录页面而不是主视图,它显示登录控制器答案附带的所有选项。我试图将这些选项保留为全局变量,但是在刷新之后,所有数据都会被删除,即使会话处于活动状态(通过会话cookie),我也无法返回主视图,我只能这样做如果我再次发送用户和pw,我不能。最终,将用户和密码存储到cookie中是不可取的。

有任何建议可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您可以使用DOM Storage在重新加载之间存储全局变量的值。

DOM Storage是客户端键/值存储。

localStorage.setItem('key', value);
value = localStorage.getItem('key');

有两种变体:

  1. sessionStorage,这将存储用户会话时间的值
  2. localStorage,这将保持会话之间的数据
  3. 如果您必须支持古代浏览器,则可以使用cookies在重新加载之间存储值。