十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容主要讲解“怎么解决IE下jquery ajax无法获得新数据的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决IE下jquery ajax无法获得新数据的问题”吧!
创新互联建站成立于2013年,先为邕宁等服务建站,邕宁等地企业,进行企业商务咨询服务。为邕宁企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。今天修改一个bug,利用ajax查询数据,在谷歌浏览器下可以获取到新数据,而在IE中获得是旧数据,无法获得新的数据,经查资料,才发现时IE缓存再作怪。
发现此ajax请求用的get方式,每次请求的URL一模一样,IE浏览器有个特殊的地方,如果每次请求的URL一样时,就会拿出缓存中已有的数据显示在页面上,并不会再次去查询数据库,所以每次显示的都是旧数据。
解决办法:
那就有思路了,我们可以让它每次请求的URL不一样,可以加一个参数,而且这个参数的值每次都不一样,时间戳好不过了。
复制代码 代码如下:
url: '{0}/portal/articleManager/getContents?id={1}&date={2}'.format(window.baseUrl, $("#id").val(), new Date())
其中id是有用的参数,而date参数我们不做处理就好了。
查资料得知,用post方式请求可以避免在这个问题,POST被认为是一个变动性访问(浏览器认为POST的提交,必定是有改变的)。
还有一个更简便的方法,设置:
复制代码 代码如下:
cache:false,
前提就是此请求的cache还不存在。
到此,相信大家对“怎么解决IE下jquery ajax无法获得新数据的问题”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!