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解决方案的更多相关文章

  1. IE8下ajax请求失败的解决方案

    今天发现IE9以下的浏览器,ajax请求返回数据异常研究半天发现是type参数未设置,由于默认方式是Get,添加上type:“post”就恢复正常了

  2. ajax请求返回数据,模板中的数据处理

    /*ajax请求返回数据,模板中的数据处理*/ function QueryGameAsset(){ var new_start_time=$('#new_start_time').val();//开 ...

  3. 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法

    在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...

  4. AJAX请求,返回json进行页面绑值

    AJAX请求,返回json进行页面绑值 后台 controller @RequestMapping(value = "backjson.do",method=RequestMeth ...

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

    最近和筒子们做了个校园电台,进去之后会自动播放歌曲,每首放完了的话会随机get新的json,然后再播放下一首 整体做成了命令行的风格,在最后输入next,start等命令来操作,5+M/s校园网+W级 ...

  6. dotnet webservice处理数据量过大,ajax请求返回500错误解决方案

    ajax请求webservice返回json数据,数据规模过大时ajax请求会得到500的响应,webservice+ajax处理大规模的数据需要在web.config中进行如下配置: <sys ...

  7. jsp Ajax请求(返回html标签)

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  8. jquery发送ajax请求返回数据格式

    jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 1.html格式的数据 "<div class='comment ...

  9. 关于IE浏览器 ajax 请求返回数据不对的问题

    在使用ajax向后台发送请求的时候,在使用ie 进行调试的时候发现根据条件进行查询时,返回的数据与没有根据条件进行查询时数据相同,也就是条件没有发生作用. 经过同事的帮助发现ajax初始化设置时没有c ...

随机推荐

  1. ES2015 类 class 语法

    在ES2015之前,定义类的方法只能通过原型链来模拟 function Animal(family,species) { this.family = family; this.species = sp ...

  2. play @Before 的使用

    用play 框架也又一段时间了,也算是有了些经验,今天就总结下@Before 的使用. 这个注解能主要在控制器中使用,用于在Action 前进行拦截 unless 表示不用拦截 的Action @Be ...

  3. 【Unity3D与23种设计模式】外观模式(Facade)

    GoF中定义: "为子系统定义一组统一的接口,这个高级的接口会让子系统更容易被使用" 其实这个模式虽然很少听过 但我们在敲代码的时候却是经常使用 比如: 在游戏初始化时 要初始化很 ...

  4. 分别用EasyAR和Vuforia开发AR(入门级)

    最近在一边学习谷歌TensorFlow,一边在做些简单的AR demo,在此总结下学习经验(自学的过程异常痛苦啊,还有总会有好人会在社区分享经验,这就是前人栽树,后人乘凉呐) 自从任天堂推出<精 ...

  5. extract-text-webpack-plugin---webpack插件

    var ExtractTextPlugin=require('extract-text-webpack-plugin');//build使用 { test:/\.css$/, use:ExtractT ...

  6. python-正铉

    第一步:安装插件 pip install Numpypip install matploatlib 第二步 导入包 import numpy as np import matplotlib.pylot ...

  7. Druid数据库连接池就这么简单

    前言 本章节主要讲解Druid数据库连接池,为什么要学Druid数据库连接池呢?? 我的知识储备数据库连接池有两种->C3P0,DBCP,可是现在看起来并不够用阿~当时学习C3P0的时候,觉得这 ...

  8. .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)

    一.前言 本篇开发环境?1.操作系统:CentOS7(因为ken比较偏爱CentOS7)2.SDK版本:.NET Core 2.0 Preview 你可能需要的前置知识1.了解如何通过Hyper-V安 ...

  9. Spring Cloud Consul 实现服务注册和发现

    Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具,它为基于 JVM 的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布 ...

  10. Matlab绘图基础——其他三维图形(绘制填充的五角星)

    其他三维图形 %绘制魔方阵的三维条形图 subplot(2,2,1); bar3(magic(4));   %以三维杆图形式绘制曲线y=2sin(x) subplot(2,2,2); y=2*sin( ...