IE8 ajax缓存问题
娘希匹,又遇到缓存问题了。
下面的代码,在其他浏览器都是正常的,但是在IE8中出现诡异问题。
$.ajax({
url:dataUrl,
data:encodeURI(currentjsonform),
dataType:'JSON',
success:function(item){
debugger;
....
}
});
经过仔细排查,尼玛是 IE8 存在的 ajax 缓存问题。尼玛,执行到这里,实际上,并没有访问我们后台的代码,而是使用了以前缓存的结果,后台进行调试时,没有反应,才发现是这个问题!!!!IE8肯跌啊。
但是 奇怪的是,很多地方都是这样的代码,为什么只有这里被缓存,而其他地方没有缓存问题呢?
后来想通了:因为这个ajax调用每次返回的结果是一样的!
解决方法:
1.
$.ajaxSetup({ cache: false });
2. 参数加上属性:cache:false
$.ajax({
url:dataUrl,
data:encodeURI(currentjsonform),
dataType:'JSON',
cache:false,
success:function(item){
debugger;
....
}
});
3. 还可以在 url 后面加上时间戳等方法。
教训:
程序员真是应该:过马路要两边看!
不要太相信默认值,需要什么属性,一定要指明。所以最好每次都指明: cache:false,或者每个js 页面保证在最开始处执行一次:
$.ajaxSetup({ cache: false });
其实 路径带上时间戳或者随机数的方法,有时并不可靠!可能是浏览器会忽略它吧。反正IE8多次遇到 url带时间戳失效的情况。
IE8 ajax缓存问题的更多相关文章
- [MISC] JQUERY注意问题之ie8 post缓存
JQUERY 注意问题之 ie8 post缓存 1.设置AJAX,不存缓存 $.ajaxSetup ({ cache: false //关闭AJAX相应的缓存 }); 2.POST的URL加上随机参数 ...
- 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache
虽然jquery的较新的api已经很好用了, 但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯:2,可以对ajax操作做一些统一处理,比如追加随机数或 ...
- Ajax缓存解决办法(转载)
项目有时要用一些Ajax的效果,因为比较简单,也就没有去用什么Ajax.NET之类的东西,手写代码也就实现了.. 第二天,有人向我报告错误:说是只有第一次读取的值正常,后面的值都不正常:我调试了一下 ...
- IE浏览器下ajax缓存导致数据不更新的解决方法
摘自:http://www.iefans.net/ie-ajax-json-shuju-huancun/ 最近做设计的时候遇到一个小问题,当你用jquery的getjson函数从后台获取数据的时候,I ...
- jquery是如何清除ajax缓存的
大家都知道万恶的IE在ajax中往往只读取第一次ajax请求时候的数据,其余时候都是从cache提取数据,(太懒了T_T).原生的JS清除ajax缓存的方法多,但是终觉有点繁琐,如果是用jquery的 ...
- 清除IE中Ajax缓存,Chrome不需要
做项目的时候,会遇到这种情况,通过ajax从后台获取的数据在chrome上显示的是最新的,而在IE上却是以前的数据,这是为什么呢,在我百般调试下终于发现原来是因为IE的ajax缓存的原因,于是加上这段 ...
- IE浏览器Ajax缓存问题小结
IE浏览器Ajax缓存问题 在IE下使用ajax的get方法向后台请求数据时,如果请求URL与之前完全一样,则根本不想后台获取,直接返回上一次请求缓存的数据(在缓存过期之前,针对相同地址发起的多个Aj ...
- AJAX缓存清理
Ajax页面缓存是ajax处理数据时对一些重复相同数据进行一个缓存操作,这样从另一个层面对于我们来讲是非常的不错了,但有时我们并不希望它缓存要如何处理呢?下面我们一起来看看关于页面缓存问题分析与解决, ...
- ajax缓存和编码问题
ajax缓存问题,工作中几乎使用ajax都会碰到,虽然解决缓存问题很多,但我 一直使用常用的,方便理解的,没有多大记忆成本的,get方式的缓存问题很蛋疼,尤其是低版本IE啦,废话少说, <scr ...
随机推荐
- SSH/SSL 源码编译安装简易操作说明
环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...
- Win8.1安装mysql-installer-community-5.6.21.0.mis
引言 我本机是win8.1,在官网下载的这个安装是32位和64位都能装,安装步骤参考:http://jingyan.baidu.com/article/67662997305dcd54d51b84d4 ...
- C++ 面试 (1) 指针
指针是C++中一类颇具特色的数据类型,允许直接操作内存地址,实现内存的动态分配.指针问题通常包括指针常量,常量指针,数组指针,指针数组,函数指针,指针传值等. 指针和引用的区别 非空区别.在任何情况下 ...
- OpenCV2邻域和模板操作
在图像处理中,通过当前位置的邻域像素计算新的像素值是很常见的操作.当邻域包含图像的上几行和下几行时,就需要同时扫描图像的若干行,这就是图像的邻域操作了.至于模板操作是实现空间滤波的基础,通常是使用一个 ...
- mybatis入门基础(七)----延迟加载
一.什么是延迟加载 resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能. 需求: ...
- RECONFIGURE语句会清空计划缓存么?
几个星期前,有个网友问我一个非常有趣的问题:RECONFIGURE语句会清空计划缓存么?通常我对这个问题的答案是简单的是,但慢慢的我找出了真正的答案是“看情况啦”.我们来看下它,为什么“它看情况”. ...
- IIS与ASP.NET管道
IIS 5.x与ASP.NET 我们先来看看IIS 5.x是如何处理基于ASP.NET资源(比如.aspx,.asmx等)请求的,整个过程基本上可以通过图1体现. IIS 5.x运行在进程InetIn ...
- iOS 视图:重绘与UIScrollView(内容根据iOS编程编写)
我们继续之前的 Hypnosister 应用,当用户开始触摸的时候,圆形的颜色会改变. 首先,在 JXHypnosisView 头文件中声明一个属性,用来表示圆形的颜色. #import " ...
- C# decimal保留指定的小数位数,不四舍五入
decimal保留指定位数小数的时候,.NET自带的方法都是四舍五入的. 项目中遇到分摊金额的情况,最后一条的金额=总金额-已经分摊金额的和. 这样可能导致最后一条分摊的时候是负数,所以自己写了一个保 ...
- sql语句优化SQL Server
MS SQL Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了 ...