IE bug:ajax请求返回304解决方案
bug说明:
同一账户下的默认收货地址只有一个,默认收货地址可以修改,修改完成后,使用ajax重新加载收货地址部分。
默认收货地址状态标记:status = 1;
在IE浏览器做了修改后,重新加载的数据和未修改之前一样,拿到的数据如下图所示:

而在谷歌浏览器刷新页面,拿到以下数据:

谷歌的数据和数据库的数据是一致的。
开始以为是js代码在IE浏览器运行错误,打开IE控制台后,发现代码并没有报错。
于是我想是不是在IE下,请求没有发生。
我在修改默认收货地址之前,先将idea编辑run里面的代码清空,然后修改默认收货地址,发现idea编辑器里没有运行代码。初步判断为请求没有发生。
但是在IE浏览器是捕获了请求的,如下图所示,请求是发生了的!但是,在IE返回的304!!!

谷歌浏览器返回的是200:

真是一群羊驼从我心里奔过!!IE ajax返回304!!每次请求走的都是缓存!!
IE下的ajax请求是按照IP地址和请求路由进行缓存。如果ajax请求使用的请求方式是get,同时参数、路径相同,ajax会先从本地缓存中取。
解决方案:
1.直接在请求地址后面加一个时间戳或者是随机数
如:url: '${rc.contextPath}/api/user/address?' + Math.random(),
2.禁止缓存
①前端页面禁止缓存:<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache">
②前端ajax禁止缓存:ajax参数cache设置为false。
说明:cache参数默认为true(当dataType为script时,默认为false)。设置为false将不会从浏览器缓存中加载请求信息。
至于后端该怎样禁止缓存,我还不造,哈哈哈。
关于304的详细解说,大家可以看看http://www.cnblogs.com/ziyunfei/archive/2012/11/16/2772729.htm这篇博文。
IE bug:ajax请求返回304解决方案的更多相关文章
- IE8下ajax请求失败的解决方案
今天发现IE9以下的浏览器,ajax请求返回数据异常研究半天发现是type参数未设置,由于默认方式是Get,添加上type:“post”就恢复正常了
- ajax请求返回数据,模板中的数据处理
/*ajax请求返回数据,模板中的数据处理*/ function QueryGameAsset(){ var new_start_time=$('#new_start_time').val();//开 ...
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...
- AJAX请求,返回json进行页面绑值
AJAX请求,返回json进行页面绑值 后台 controller @RequestMapping(value = "backjson.do",method=RequestMeth ...
- [IE bug] ajax请求 304解决方案
最近和筒子们做了个校园电台,进去之后会自动播放歌曲,每首放完了的话会随机get新的json,然后再播放下一首 整体做成了命令行的风格,在最后输入next,start等命令来操作,5+M/s校园网+W级 ...
- dotnet webservice处理数据量过大,ajax请求返回500错误解决方案
ajax请求webservice返回json数据,数据规模过大时ajax请求会得到500的响应,webservice+ajax处理大规模的数据需要在web.config中进行如下配置: <sys ...
- jsp Ajax请求(返回html标签)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...
- jquery发送ajax请求返回数据格式
jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 1.html格式的数据 "<div class='comment ...
- 关于IE浏览器 ajax 请求返回数据不对的问题
在使用ajax向后台发送请求的时候,在使用ie 进行调试的时候发现根据条件进行查询时,返回的数据与没有根据条件进行查询时数据相同,也就是条件没有发生作用. 经过同事的帮助发现ajax初始化设置时没有c ...
随机推荐
- 【NOIP2006】能量项链
题面 Description 在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链.在项链上有 N 颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的 ...
- mysql mariadb 删除表中的数据时数据库变大
删除表中数据以前 [root@RM uar3]# du -sh * 3.3G apache-tomcat-7.0.54 150M instalRM4UAR 0 mariadb 903M mariadb ...
- VS中使用.NET Reactor进行代码混淆
.NET Reactor相信大家都不陌生,网上使用教程也很多.但绝大多数都只介绍到软件的使用,而对于在VS中使用介绍的不多. 首先,在.NET Reactor的Help中Add In,如下图. 重启V ...
- FJUT16级第一周寒假作业题解J题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P9 涨姿势之区间刷新 TimeLimit:2000MS MemoryLimit:128M ...
- CentOS 远程桌面相关服务安装笔记
# CentOS 7安装图形界面 sudo yum groupinstall "GNOME Desktop" "Graphical Administration Tool ...
- VS 2017 开发安卓环境搭建 问题总结
VS 2017可以开发安卓啦,之前一直想尝试开发安卓,但是由于时间忙, Java只学了个基础,不如C#熟练所以一直没有机会接触安卓开发.既然需要利用VS2017开发安卓,那么第一步就是了解VS2017 ...
- 使用padding来合理布局自己的容器类
这两天一直忙着前端UI的事,前端布局这块下了很多工夫,很多第三方布局框架如Bootstrap和layUI等虽然很好使用,但是前端你懂的,实际用起来总得缝缝补补,烦啊. 今天就遇到了一个要让div容器内 ...
- java大数(BigInteger)
JAVA之BigInteger 用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂.用Java刷了一些题,感觉Java还不错,在处理高精度和进制转换中,调用库函数的 ...
- Linux Vim查找字符串
一.用/和?的区别:/后跟查找的字符串.vim会显示文本中第一个出现的字符串.?后跟查找的字符串.vim会显示文本中最后一个出现的字符串.二.注意事项:不管用/还是?查找到第一个字符串后,按回车,vi ...
- 连不上虚拟机中的Redis的原因分析、以及虚拟机网络配置
1. 网络最好是桥接方式.我之前用的是"网络地址转换(NAT)",导致虚拟机里用命令ifconfig得到的ip是10.0.2.15,好奇怪的感觉,然后在真实机上一直连不上.有的说用 ...