一个笨蛋前端

好好学习,天天向上

让人无语的IE8 ajax缓存

BUG描述

今天项目里面出一个BUG,用户登录后 请求的用户信息改变后用户名称和所有的菜单操作都没有改变

分析过程

首先确认了 多个主流浏览器中 只有PCie8的出现了 切换账户登录后 用户数据没有改变的情况

在无数次的测试node的接口返回值后 发现了一个奇怪的现象 可以 解决问题

复现过程
  • 用户在ie8浏览器下切换账户
  • 直接访问请求用户信息和菜单的接口
  • 刷新主页 用户的信息数据刷新正常
确认bug
  • 初步确认是ie8可能是缓存了数据
  • 使用IE 11调试模式 模拟ie8浏览器 切换账户登录
  • 在网络链接 中查看到 关于用户信息的ajax请求的时候发现 响应数据 都是200没有304的响应码 整个人都不好了
    《让人无语的IE8 ajax缓存》
  • 但是在点击了 项目的这个请求的时候发现 后面的响应数据 居然是缓存的数据
解决方案
  • 既然确认的BUG 那么解决方案就很容易了 毕竟ie8 已经坑了那么多代的web程序员了 关键字 IE8 ajax缓存

  • 解决方案

$.ajax({cache false });

不缓存这个接口数据

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注