Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 567|回复: 0

[IE bug] ajax请求 304解决方案

[复制链接]
  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 802 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726006
    发表于 2021-7-6 20:32:36 | 显示全部楼层 |阅读模式

      最近和筒子们做了个校园电台,进去之后会自动播放歌曲,每首放完了的话会随机get新的json,然后再播放下一首

      整体做成了命令行的风格,在最后输入next,start等命令来操作,5+M/s校园网+W级的曲库,最后做出来的效果还是很赞的

      在同学间推广了一下,有好评咯

      反馈回来的产品设计的bug 和 代码bug 也不少,最逗的一个就是 IE浏览器下,每次换出来的新歌都是一首

      调试前以为是js代码在IE下运行的问题,后来发现js没有bug  

      打开调试工具之后,原因一下就明朗了 ajax返回结果HTTP304 ...   每次请求的走的是缓存,而Chrome等浏览器是正常返回的200

      ajax缓存= = IE真是无所不能啊 Σ( ° △ °|||)︴

      !ajax走缓存= =!╮(╯▽╰)╭

      原因找到了,bug就很好改了,不让缓存或者实时获取最新的就行

     

      【解决方案】

      IE下的ajax请求是按照ip地址和请求路由进行缓存,所以最简单的办法:

      1.直接在请求的时候再请求链接的末尾自动添加个时间戳或者随机种子就OK了

        像上面的话:      /Home/GetMusic?id=1+时间戳    ,很方便可以解决

      2.既然它缓存,那就不让它缓存

        前端页面禁止缓存: <META HTTP-EQUIV="pragma" CONTENT="no-cache">

        前端ajax禁止缓存:

          ajax请求的cache参数:要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false)。设置为false将不会从浏览器缓存中加载请求信息。

        后端:

          .net  : Response.CacheControl="no-cache";

          php   : header("Cache-Control: no-cache, must-revalidate");

               header("Pragma: no-cache");

     

       总之一句话的事情,第一次遇到,存一下咯。


    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-11-15 02:07 , Processed in 1.006827 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表