最代码官方
2015-01-25 21:54:13
原证
jquery $ajax GET请求在IE浏览器兼容中遇到的304 cache请求的经验分享
在最代码上线后,印象最深的2个bug:
1.用户提醒数字明明已经查看了但是一直还在提示。
2.用户下载代码已经登录了但是一直提示尚未登录。
经过和牛牛们远程协助发现是因为在IE内核的浏览器下,http协议中浏览器端中对相同请求有cache的机制,会返回304 Not Modified提示浏览器可以继续用本地cache而忽略服务端返回的数据。
在jquery的$ajax请求中增加:cache:false参数即可:
例如下载代码时ajax调用是否下载代码的逻辑如下:
$(".download").click(function() { var id=$(this).attr("content_id"); var niubi=$(this).attr("niubi"); $.ajax({ url : "/code/"+id+"/is_downloaded.htm", type : 'GET', dataType : 'json', cache:false, success : function(json) { if(json.error==""){ if(json.is_downloaded=="0"){ if (!confirm("确认下载代码么?下载将扣除你"+niubi+"个牛币")) { return; } } window.location = "/code/" + id + "/download.htm"; }else{ alert(json.error); } } }); });
相信好多牛牛都会遇到诸如此类的诡异问题,本地环境调试都正常,但线上却出现问题了,最重要的还是得多提高这种问题排查能力。
猜你喜欢
- jquery插件实现判断浏览器类型的脚本代码分享
- 通过js框架jquery判断IE浏览器版本来解决浏览器兼容性问题
- 原生js开发AJAX数据分页请求实例
- jquery ajax无刷新请求Struts2验证用户名密码数据库是否存在
- Jquery Ajax实现无刷新留言板特效php实例代码
- jquery同步和异步请求的异同,通过简单的源代码实例demo演示
- jquery高仿浏览器新建标签页网址缩略图导航特效代码
- 手把手教你们通过jquery ajax调用查询java struts2后端数据+js拼接字符串
- 手把手教你们通过jquery ajax调用查询java servlet后端数据+js拼接字符串
- jquery ajax实现上传文件代码,带进度条
- jquery开发实现可移动div布局的特效代码下载(支持全部浏览器)
- js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器
请下载代码后再发表评论
相关代码
最近下载
最近浏览
赵欣婷 LV4
2022年5月26日
13561143836 LV7
2021年6月20日
洛天然 LV1
2021年6月18日
找先森 LV5
2021年6月8日
sunshine9920 LV12
2020年12月15日
talete LV3
2020年11月20日
1234567891011 LV5
2020年6月27日
薰衣草384 LV7
2020年6月14日
夜上清元 LV8
2020年6月3日
温涛涛 LV8
2020年2月25日