900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > ie的html缓存问题 解决IE下Ajax请求无效 IE请求缓存问题

ie的html缓存问题 解决IE下Ajax请求无效 IE请求缓存问题

时间:2022-04-23 03:49:46

相关推荐

ie的html缓存问题 解决IE下Ajax请求无效 IE请求缓存问题

首先说明一下IE的这个“亮点”,IE有个缓存机制,对请求的url进行判断,发现短时间内请求的url相同,则使用缓存的数据,而不是去重新向服务器获取一次数据。数据缓存也有好处,但对于需要经常去后台获取数据更新的需求来说,这就是个麻烦了。

提问:那怎么解决这个问题呢?

分析:既然是对相同的url认为是重复请求,那我就想办法每次请求的url值都不相同,同时还保证是我要的数据。我们采用在url中增加一个无用的参数,且这个参数每次都在变(时间或随机数!)。

这里举个简单的例子,从后台获取实时时间。普通的做法如下,此时在chrome、FireFox上不停的向后台请求获取实时数据,会发现页面上的时间会不停的改变。但换到IE浏览器下,第一次点击时间会出现,当不断重复点击时,时间仍旧停留在第一次获取到的时间上。

一:在url后面加个随机数

$.ajax({

type: "GET",

url: "/platform/lang?random="+Math.random(),

contentType: "application/json; charset=utf-8",

dataType: "json",

success: function (result){},

error:function(result){}

});

二:在url后面加时间戳

$.ajax({

type: "GET",

url: "/platform/lang?timestamp="+new Date().getTime(),

contentType: "application/json; charset=utf-8",

dataType: "json",

success: function (result){},

error:function(result){}

});

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。