视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
IE下jquery ajax无法获得最新数据的问题解决(IE缓存)
2020-11-27 22:52:21 责编:小采
文档

今天修改一个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还不存在。

下载本文
显示全文
专题