在resfresh、javascript之后保持全局变量的活力
keep global variables alive after resfresh, javascript
场景:
假设我们有一个应用程序,它的工作原理如下:
Header
Content
footer
Header和Footer是静态的,content是一个div,通过ajax调用它来加载特定的视图。
因此,基本上,我们的第一个视图是登录,在调用登录控件后,我们会得到一个列表,并在应用程序中移动,而不更改链接结构会导致ajaxdiv内容调用。
问题:
当我们刷新时,我们会返回登录页面,而不是主视图,主视图显示登录控制器答案附带的所有选项。我试图将这些选项保留在一个全局变量中,但刷新后,所有数据都会被删除,即使会话处于活动状态(通过会话cookie(,我也无法返回主视图,只有当我再次发送用户和密码时,我才能返回,但我无法返回。最终,将用户和密码存储到cookie中不是一种选择。
有什么建议可以解决这个问题吗?
您可以使用DOM存储在重新加载之间存储全局变量的值。
DOM存储是客户端的密钥/值存储。
localStorage.setItem('key', value);
value = localStorage.getItem('key');
有两种变体:
sessionStorage
,这将存储用户会话的时间值localStorage
,这将在会话之间保留数据
如果你必须支持古老的浏览器,你可以在重新加载之间使用cookie来存储值。
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- delete关键字在全局变量上的不同行为
- 在javascript函数中设置全局变量
- 如何将getJson的响应保存在全局变量中
- 从Javascript方法返回全局变量
- AngularJS中的封装窗口全局变量
- javascript隐式全局变量
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何使全局变量仅特定于该文件
- 在page.open()-PhantomJS中无法访问全局变量
- 使用全局变量来存储数字(JavaScript)
- 如何将变量声明为全局变量
- 在节点中创建文件全局变量
- 在Javascript中使用全局变量作为缓存是很好的
- 创建要在其他函数中使用的全局变量
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 函数中的innerHTML(全局变量?)
- 如何在javascript中为全局变量赋值
- 全局变量只能由第一个函数访问
- 在resfresh、javascript之后保持全局变量的活力