IE中sessionStorage越权?

问题描述

背景:
在一个网站中有两个权限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))
},

}

阅读 2.3k
1 个回答

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

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

参考

推荐问题
宣传栏