zoukankan      html  css  js  c++  java
  • IE浏览器下异步请求的缓存问题

    问题:

    在做即时通讯时,需要提示用户有几条未读的提醒,这个是(如果有新的提示消息立马在浏览器无刷新提示)即时获取的。但我们的做法是,当用户点击未读信息进入到信息显示页面时重新获取下未读的提醒;但是在IE浏览器下,在新窗口打开以后没有重新获取请求,再次刷新页面也没有看到请求地址。但是如果将链接打开方式改为target=_self或者_parent就不会出现这样的情况,会有第二次请求;

    原因分析:因为IE浏览器对请求进行了缓存。。。。。也有可能跟链接的打开方式(target="_blank/_self")有关;

    解决办法:

    1,在请求地址后面追加随机数或时间戳 $.get(‘url’,{t:Math.random()}); 这样就不会调用缓存而是发送新的请求;(最简单)

    2,使用$.ajax()发送请求,设置cache:false; 不使用框架代码:XMLHttpRequest.setRequestHeader("If-Modified-Since","0"), 或者XMLHttpRequest.setRequestHeader(‘"Cache-Control","no-cache"’)

    3,在服务器端修改更改相应header(‘Cache-Control:no-cache,must-revalidate)

  • 相关阅读:
    入门训练 圆的面积
    入门训练 序列求和
    interface
    Horizon
    H903
    Sphinx Building Docs in horizon
    Cinder Columns
    DevStack添加Swift
    Murano py27和py34的兼容处理
    Murano Weekly Meeting 2015.12.01
  • 原文地址:https://www.cnblogs.com/zhang-jian/p/5292190.html
Copyright © 2011-2022 走看看