IE中sessionStorage越权?

发布于 2022-09-11 23:19:34 字数 586 浏览 30 评论 0

问题描述

背景:
在一个网站中有两个权限admin和user,两者会共享一个接口getInfoList(),但由于权限不同,获取的数据也不同。获取到数据后,利用sessionstorage进行存储。

Chrome中运行正常,当切换到IE时,在不同的选项卡中同时登录admin和user两个账号,getInfoList得到的数据就会出现问题。例如首先登录admin,新开选项卡登录user后调用getInfoList接口,得到的却是admin的数据。

问题出现的环境背景及自己尝试过哪些方法

两者sessionStorage的名字不同,没有效果

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

var TOOLS = {
setLocVal: function (name, val)  {
    sessionStorage.setItem(name , JSON.stringify(val))
},
getLocVal: function (name)  {
   return JSON.parse(sessionStorage.getItem(name))
},

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巾帼英雄 2022-09-18 23:19:34

自己找到原因了,是IE的缓存问题。
解决方案有两种

  1. 在请求后面增加随机参数,例如?t=123
  2. 在ajax请求中增加cache: false

参考

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文