zoukankan      html  css  js  c++  java
  • ajax请求在ie8下缓存问题

    我今天在改项目bug的时候,发现ajax请求在ie8下有缓存,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端。在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时数据)。

    而FF和Chrome下不会出现这种情况。

     

    为了不受缓存影响,解决方法:

    一、改变IE访问策略

     

    Internet选项--浏览历史记录--设置-- Internet 临时文件的选项改为每次访问网页时也可以

    二、通过为URL地址添加后缀

     

    在AJAX请求的页面后加个随机函数,例如我们可以使用随机时间函数。在javascript发送的URL后加上。

     

    随机函数代码例:

     

    function getRandomString() {

        var randomString = "?r=";

        for ( var i = 0; i < 20; i++) {

            randomString += Math.floor(Math.random() * 10);

        }

        return randomString;

    }

    如这样:

      URL+"&"+"t="+Math.random();//或者new Date();

      "?timestamp=" + new Date().getTime();

     

    三、改变jQuery的Ajax设置

     

    另外我们还可以这样设置,用jquery自带的:

    $.ajaxSetup({

     

    cache:false

     

    })

  • 相关阅读:
    数论数论函数基础知识
    KMP入门和简单运用
    高斯消元入门
    FFT和NTT
    AC自动机入门和简单应用
    后缀自动机入门
    线段树优化建图的速成
    爱情九十七课,降低期待
    爱情九十二课,说出你的弱
    爱情八十六课,等得不是爱情
  • 原文地址:https://www.cnblogs.com/meggie523/p/5149516.html
Copyright © 2011-2022 走看看