由于A界面的数据是通过ajax交互的,当你跳转到B界面,点击手机浏览器自带的后退回到A界面,由于缓存原因,读取到的数据不是最新的数据。
查了很多资料,看到网上的解决方法是清理缓存,然后页面重新向服务器发出请求。
下面整理一下,解决这个问题的方法。
方法1,HTML头部,禁止缓存:
<meta http-equiv="Expires" CONTENT="0"> <meta http-equiv="Cache-Control" CONTENT="no-cache"> <meta http-equiv="Pragma" CONTENT="no-cache">
注:(手机端)此方法行不通,因为有些浏览器会忽略这个头部,测试过,可能是我手机自带浏览器的原因。
方法2,适用于jsp
Response.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response.Expires = 0 Response.CacheControl = "no-cache"
注:此方法本人没有试过,不知道可不可行
方法三,强行刷新界面
if(window.name != "bencalie"){ location.reload(); window.name = "bencalie"; }else{ window.name = ""; }
注:此方法可行,此代码写在js里。
感谢阅读本文,希望能帮助到大家,谢谢大家对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。