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 ...
随机推荐
- 【BZOJ2555】SubString(后缀自动机,Link-Cut Tree)
[BZOJ2555]SubString(后缀自动机,Link-Cut Tree) 题面 BZOJ 题解 这题看起来不难 每次要求的就是\(right/endpos\)集合的大小 所以搞一个\(LCT\ ...
- java多线程的常见例子
收藏 http://blog.csdn.net/wenzhi20102321/article/details/52524545
- JavaScript奇技淫巧
单行写一个评级系统 var rate = 3; "★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate); CSS调试黑科技,所有元素加 随机色的outlin ...
- Android端 高德地图点击得到经纬度
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...
- 树莓派centos安装的基本配置
萌新再发一帖,这篇文章呢主要是为大家在树莓派上安装centos以后提供一个问题的解决方案. 首先我呢觉得好奇就在某宝上花了两百来块钱买了一套树莓派,很多人喜欢在树莓派上安装Debian,我呢更青睐用R ...
- 夹缝中求生存-在一无所有的php虚拟主机环境下利用smtp发送邮件(二)
夹缝中求生存 前言:在上一篇随笔中,以163个人邮箱作为发送邮箱地址,当收件邮箱为QQ邮箱时,极有可能会被直接扔进邮件垃圾箱里,为了解决这个问题,申请注册企业邮箱,可以减少发出的邮件被当作垃圾邮件的可 ...
- oracle空间索引
1.索引创建 添加元数据 INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) VALUES ('BE ...
- 使用mescroll来实现移动端页面上拉刷新, 下拉加载更多功能
* mescroll请参考官方文档 1. 使用mescroll实现下拉滑动的效果: (仅仅效果, 有的页面不需要刷新数据, 只要你能下拉就行) 代码如下: var mescroll = new MeS ...
- 【Python】 日志管理logging
logging *****本文参考了http://www.cnblogs.com/dkblog/archive/2011/08/26/2155018.html ■ 最最基本的用法 logging模块用 ...
- Oracle的用户,权限以及角色
一.用户 1.创建用户 创建用户u密码为aa. SQL> create user u identified by aa; 2.为用户赋予权限 这个用户还不能连接数据库,必须为其赋予一些权限才可以 ...