资讯专栏INFORMATION COLUMN

IE浏览器会缓存GET请求

evin2016 / 1834人阅读

摘要:起因浏览器会缓存网页中的和的内容,请求方式是方式时,浏览器会进行识别。无论是什么插件的方式请求,浏览器都会这样进行处理的,从而导致数据不同步。

起因

  IE浏览器会缓存网页中的GET和XHR的内容,请求方式是get方式时,IE浏览器会进行识别。如果该get请求的url是第一次请求的话,会请求服务器,从数据库中获取数据;如果该get请求的url不是第一次请求的话,那么该url就不会请求服务器,IE浏览器会直接从缓存中拿到上次该url获取的数据。无论是什么插件的get方式请求,IE浏览器都会这样进行处理的,从而导致数据不同步。

解决方案

1. 在get请求的url中增加随机标识(推荐)

在请求后拼接随机数或者时间戳,使两次请求的url不一致,浏览器就不会从缓存中读取数据

2. 在axios中设置header,ajax可以用setRequestHeader方法(推荐)

const api = axios.create({
    // ...
    headers: {
        "Cache-Control": "no-cache"
    }
    // ...
})

3. 修改浏览器配置 (只能暂时解决问题)

Internet选项 >> 浏览历史记录 >> 设置 >> Internet 临时文件的选项改为‘每次访问网页时’

4. 在服务端设置 header(“Cache-Control: no-cache, must-revalidate”)(看情况)

5. 改为post接口(不推荐)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102690.html

相关文章

  • 2019年前端面试题-03

    摘要:前端示例服务器端代码可靠的实例添加回调函数拼接传递的是一个匿名的回调函数,要执行的话,暴露为一个全局方法出错处理使用示例欢迎阅读年前端面试题年前端面试题年前端笔试题我是,年轻的前端攻城狮一枚,爱专研,爱技术,爱分享。 let与var的区别? Let为ES6新添加申明变量的命令,它类似于var,但是有以下不同: 1、var声明的变量,其作用域为该语句所在的函数内,且存在变量提...

    王岩威 评论0 收藏0
  • 2019年前端面试题-03

    摘要:前端示例服务器端代码可靠的实例添加回调函数拼接传递的是一个匿名的回调函数,要执行的话,暴露为一个全局方法出错处理使用示例欢迎阅读年前端面试题年前端面试题年前端笔试题我是,年轻的前端攻城狮一枚,爱专研,爱技术,爱分享。 let与var的区别? Let为ES6新添加申明变量的命令,它类似于var,但是有以下不同: 1、var声明的变量,其作用域为该语句所在的函数内,且存在变量提...

    BlackHole1 评论0 收藏0
  • Ajax知识体系大梳理

    摘要:导读全称即异步与它最早在中被使用然后由推广开来典型的代表应用有以及现代网页中几乎无不欢前后端分离也正是建立在异步通信的基础之上浏览器为做了什么现代浏览器中虽然几乎全部支持但它们的技术方案却分为两种标准浏览器通过对象实现了的功能只需要通过一行 导读 Ajax 全称 Asynchronous JavaScript and XML, 即异步JS与XML. 它最早在IE5中被使用, 然后由Mo...

    Aomine 评论0 收藏0
  • 从“雅虎军规”看性能优化

    摘要:避免重定向重定向用和状态码,下面是一个有状态码的头浏览器会自动跳转到域指明的。除此之外还有别的跳转方式元标签和,但如果你必须得做重定向,最好用标准的状态码,主要是为了让返回按钮能正常使用。要提高性能,优化这些响应至关重要。 showImg(https://segmentfault.com/img/bVbmMsz?w=652&h=367);一直以来,性能优化是开发的重中之中,而提及 前端...

    BlackMass 评论0 收藏0

发表评论

0条评论

evin2016

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<