IE8,9下的ajax缓存问题】的更多相关文章

最近在做一个网站的登录注册框,前端使用了jquery.由于sign和login不是在单独的页面上,而是以一个弹出框出现.所以决定使用ajax来实现注册和登录功能.本以为可以一帆风顺,结果在测试的时候发现了奇怪的问题. 在用chrome , ff , IE10+测试的时候基本没问题,但在IE8,9上运行时却出现了输入正确的用户名和密码不能登录的情况.一开始还以为是session丢失了,开始吐槽后台的框架. 但是在耐心的调试后,发现session并没有丢失.这下可急死我了,难道混了这么久连一个注册登…
  使用jQuery的getJSON从后台定时获取数据并刷新界面,使用以下方法时,在Chrome,Firefox下没问题,但在IE9下却无法刷新数据 1 2 3 4 5 $.getJSON(webApp + "/GetShowData.do?limit=" + limit,function(data){   //******************   } 原因是,在IE9下,进行Ajax请求时,若与之前请求相同,则不会再从浏览器获取数据,而是直接从本地获取,因此,在请求中加上时间戳,…
摘自:http://www.iefans.net/ie-ajax-json-shuju-huancun/ 最近做设计的时候遇到一个小问题,当你用jquery的getjson函数从后台获取数据的时候,IE浏览器会自动设置缓存,如果此时你对数据进行修改的时候刷新页面,IE并不会在页面显示你修改后的数据,因为你刷新的时候IE浏览器会查找缓存并显示你修改前的数据,最后在网上查了些资料终于解决了IE浏览器下的问题. 方法就是在你的请求的URL 后面设置个可变的参数,比如: Java代码 $.getJSON…
娘希匹,又遇到缓存问题了. 下面的代码,在其他浏览器都是正常的,但是在IE8中出现诡异问题. $.ajax({ url:dataUrl, data:encodeURI(currentjsonform), dataType:'JSON', success:function(item){ debugger; .... } }); 经过仔细排查,尼玛是 IE8 存在的 ajax 缓存问题.尼玛,执行到这里,实际上,并没有访问我们后台的代码,而是使用了以前缓存的结果,后台进行调试时,没有反应,才发现是这…
一直知道使用ajax的时候,有的时候会出现数据缓存的问题,当时也没有深究,就是所有的简单粗暴的全部加上cache:false,或者使用在url处加上随机时间函数 今天无意间看见了为什么会出现缓存的原因记录下 注:通过AJAX请求后台时,当参数相同,IE浏览器会从缓存中取值而非从重新请求服务器.其他使用非IE内核的浏览器并无此问题. 在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱, 即get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会…
虽然jquery的较新的api已经很好用了, 但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯:2,可以对ajax操作做一些统一处理,比如追加随机数或其它参数.同时在工作中,我们还会发现,有一些ajax请求的数据,对实时性要求不高,即使我们把第一次请求到的这些数据缓存起来,然后当相同请求再次发起时直接拿之前缓存的数据返回也不会对相关功能有影响,通过这种手工的缓存控制,减少了ajax请求,多多少少也能帮助我们提高网页的性能.本文介绍我自己关于这两方…
项目有时要用一些Ajax的效果,因为比较简单,也就没有去用什么Ajax.NET之类的东西,手写代码也就实现了.. 第二天,有人向我报告错误:说是只有第一次读取的值正常,后面的值都不正常:我调试了一下 ,确实有这样的问题,查出是因为AJAX缓存的问题:解决办法有如下几种:       1.在服务端加 header("Cache-Control: no-cache, must-revalidate");(如PHP中) 2.在ajax发送请求前加上 anyAjaxObj.setRequest…
做项目的时候,会遇到这种情况,通过ajax从后台获取的数据在chrome上显示的是最新的,而在IE上却是以前的数据,这是为什么呢,在我百般调试下终于发现原来是因为IE的ajax缓存的原因,于是加上这段代码就ok了! // 设置Ajax操作的默认设置 $.ajaxSetup({ cache: false, error: function (XMLHttpRequest, textStatus, errorThrown) { if (typeof (errorThrown) != "undefine…
IE浏览器Ajax缓存问题 在IE下使用ajax的get方法向后台请求数据时,如果请求URL与之前完全一样,则根本不想后台获取,直接返回上一次请求缓存的数据(在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端.),从而造成后台数据变化而前台刷新没变的问题. 解决方法: 在AJAX请求的页面后加个随机函数,我们可以使用随机数或当期毫秒数: URL后加上t=Math.random() 或new Date().getTime(); 采用JQuery提交ajax请求时增加参…
Ajax通过GET方式请求服务器数据,Microsoft Internet Explorer浏览器下,由于缓存问题,读取的数据非最新数据,解决问题方法如下: function getData(url, fn) { var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.onreadystatechange = fn; xhr.setRequestHeader("Content-Type", &q…