美文网首页
解决IE下Ajax请求无效,IE请求缓存问题

解决IE下Ajax请求无效,IE请求缓存问题

作者: 渡劫CD | 来源:发表于2018-12-19 17:58 被阅读0次

首先说明一下IE的这个“亮点”,IE有个缓存机制,对请求的url进行判断,发现短时间内请求的url相同,则使用缓存的数据,而不是去重新向服务器获取一次数据。数据缓存也有好处,但对于需要经常去后台获取数据更新的需求来说,这就是个麻烦了。
提问:那怎么解决这个问题呢?
分析:既然是对相同的url认为是重复请求,那我就想办法每次请求的url值都不相同,同时还保证是我要的数据。我们采用在url中增加一个无用的参数,且这个参数每次都在变(时间或随机数!)。

这里举个简单的例子,从后台获取实时时间。普通的做法如下,此时在chrome、FireFox上不停的向后台请求获取实时数据,会发现页面上的时间会不停的改变。但换到IE浏览器下,第一次点击时间会出现,当不断重复点击时,时间仍旧停留在第一次获取到的时间上。

一:在url后面加个随机数

$.ajax({
        type: "GET",
        url: "/platform/lang?random="+Math.random(),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (result){},
         error:function(result){}
    });

二:在url后面加时间戳

$.ajax({
        type: "GET",
        url: "/platform/lang?timestamp="+new Date().getTime(),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (result){},
         error:function(result){}
    });

以上是我采用的方法,大家也可以参考一下一篇文章,没有尝试:
https://dacoolbaby.iteye.com/blog/1938440

相关文章

  • 解决IE下Ajax请求无效,IE请求缓存问题

    首先说明一下IE的这个“亮点”,IE有个缓存机制,对请求的url进行判断,发现短时间内请求的url相同,则使用缓存...

  • 数据调取归整-1

    在做ajax页面无刷新添加的时候,IE下遭遇Ajax缓存在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回...

  • IE浏览器ajax缓存问题

    通过AJAX请求后台时,当参数相同或者无参的请求,IE浏览器会从缓存中取值而非从重新请求服务器。 其他使用非IE内...

  • ajax请求在IE下请求失败

    项目要求兼容IE,但是在IE edge下加载不出数据,debug后发现所有ajax请求都失败,{readyStat...

  • 切换社区id,再次请求info接口,ie获取旧数据

    ie 请求同一个接口,不再次请求,走缓存解决:在相关接口上加个随机数

  • IE 浏览器缓存了 get 请求

    问题:(node 服务)IE 浏览器缓存了 get 请求,导致页面数据刷新有问题。 解决办法:ctx.set('C...

  • IE ajax 定时刷新总失败的坑

    页面使用了 ajax 进行定时刷新,但是总是不自动刷新,跟踪网络请求发现因为每次的请求url都一样,ie直接从缓存...

  • 缓存问题

    1.缓存的产生 在Ajax的get请求中,如果运行在IE内核的浏览器下,其如果向同一个url发送多次请求时,就会产...

  • SpringBoot 解决 application/octet-

    前端为了兼容IE8和跨域做了很多操作(我也不懂),之后发现了一个问题,IE8下所有的ajax请求都是 applic...

  • 常用的meta 标签

    禁止ie 缓存 Cache-Control头域 Cache-Control指定请求和响应遵循的缓存机制。在请求消...

网友评论

      本文标题:解决IE下Ajax请求无效,IE请求缓存问题

      本文链接:https://www.haomeiwen.com/subject/kpzjkqtx.html