美文网首页工作生活
关于Ajax Get请求在IE下存在缓存问题

关于Ajax Get请求在IE下存在缓存问题

作者: 不二不二熊 | 来源:发表于2019-06-29 19:36 被阅读0次

起源

同一份代码在chrome和ie下出现不同的结果,具体表现为:在ie下保存操作后,页面依然显示为未勾选状态。

思考

最初的时候一直思考是否是代码问题,一度在IE下debug整块代码,无果。后来观察了下三个请求均为get请求,于是转而思考,是否是因为get请求在ie下会有缓存问题。

解释

在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱。

  1. get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端,
  2. post方式因为参数的不同,不会产生这个问题。

为了不受缓存影响,可以这样做:

在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数
在javascript发送的URL后加上 t=Math.random()

例如这样:

URL+"&"+"t="+Math.random();//或者new Date(); 
在 URL 参数后加上"?timestamp=" + new Date().getTime(); 

或者在请求参数data中添加:

data: {
                _t: new Date().valueOf() //加时间戳
                //_t: Math.random() 加随机数
            },

示例

  $.ajax({
            type: "get",
            dataType:"json",
            url: "$!{rc.contextPath}/parkledVerb/loadVerbData?id="+id,
            data: {
                _t: new Date().valueOf() //加时间戳
                //_t: Math.random() 加随机数
            },
            async: false,
            success: function (data) {
                ···
        });
最好的方法:
$.ajaxSetup({cache:false}) 

这样页面中所有的ajax请求时,都执行这个。就不必改已经完成的N个接口。

相关文章

  • 关于Ajax Get请求在IE下存在缓存问题

    起源 同一份代码在chrome和ie下出现不同的结果,具体表现为:在ie下保存操作后,页面依然显示为未勾选状态。 ...

  • 数据调取归整-1

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

  • 缓存问题

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

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

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

  • 每日一点前端面试题

    Ajax请求的时候GET和POST的区别? GET大小限制,安全低,POST则相反; GET请求需考虑缓存问题,P...

  • 关于IE下get方法url中中文乱码的问题解决

    在Chrome下,使用ajax的get方法请求数据时,url中带中文是没有问题的,但是在IE下,中文会被变成乱码发...

  • 前端性能优化指南

    前端性能优化指南 AJAX优化 缓存AJAX: 请求使用GET:当使用XMLHttpRequest时,而URL长度...

  • 前端性能优化

    AJax 优化 缓存 Ajax 请求尽量使用GET, 仅取决于cookie数量 Cookie 优化 减少Cooki...

  • IE 浏览器缓存了 get 请求

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

  • ajax请求在IE下请求失败

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

网友评论

    本文标题:关于Ajax Get请求在IE下存在缓存问题

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