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. [HNOI2013]游走

    题面在这里 题意 从1号点开始等概率选择路径并加上边权,直到到达n号点结束,要求将m条边赋权值1-m使得期望最小 sol 续上文 zsy ycb orz 简单的贪心:求出每条边的期望经过次数,sort ...

  2. PHP Curl会话请求

    /** * @param string $url 请求地址 * @param string $type 请求类型 post get * @param string $arr 如果是post 传递的数据 ...

  3. Spring整合Shiro并扩展使用EL表达式

    Shiro是一个轻量级的权限控制框架,应用非常广泛.本文的重点是介绍Spring整合Shiro,并通过扩展使用Spring的EL表达式,使@RequiresRoles等支持动态的参数.对Shiro的介 ...

  4. postgresql和oracle数据库对比

    SQL执行计划干预 从使用postgresql来看,想要改变执行计划只能通过対表进行分析,不能通过添加hint的方式来改变执行计划: oracle不仅可以通过对表进行收集统计来改变执行计划,而且很重要 ...

  5. HyperLedger Fabric 1.1 手动部署单机单节点

    手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...

  6. Python进程-实现

    multiprocessing模块介绍 python中的多线程无法利用CPU资源,在python中大部分计算密集型任务使用多进程.如果想要充分地使用多核CPU的资源(os.cpu_count()查看) ...

  7. The based of tuning

    调优目的: 1.  提高资源利用率 2.  找出性能瓶颈并缓解 3.  通过性能管理实现合理的资源分配,提升硬件性价比 调优分层及效率问题: 业务级调优  eg:1)网站使用的Apache—>业 ...

  8. 《Linux命令行与shell脚本编程大全》- 读书笔记2 - 更多的bash shell命令

    更多的bash shell命令 想检测进程,需要熟悉ps命令的用法.ps命令好比工具中的瑞士军刀,它能输出运行在系统上的所有程序的许多信息.默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户 ...

  9. 【重要】使用Git命令行上传到GitHub上

    [本人GitHub账号:] 用户名:chenhongshuang 密码:shuangshuang6300 邮箱:2452420371@qq.com 进入GitHub账号后 1·新建项目文件名称例dem ...

  10. Redis这些知识点,是必须知道的!

    Redis是一个开源(BSD许可)的内存数据结构存储,可作为数据库,缓存和消息队列.相比Memcached它支持更多的数据结构,如string(字符串),hash(哈希),list(链表),set(集 ...