IE9 下的ajax缓存问题的处理
使用jQuery的getJSON从后台定时获取数据并刷新界面,使用以下方法时,在Chrome,Firefox下没问题,但在IE9下却无法刷新数据
1
2
3
4
5
|
$.getJSON(webApp + "/GetShowData.do?limit=" + limit, function (data){ //****************** } |
原因是,在IE9下,进行Ajax请求时,若与之前请求相同,则不会再从浏览器获取数据,而是直接从本地获取,因此,在请求中加上时间戳,IE9便会认为是不同的请求,代码如下:
1
2
3
4
5
|
$.getJSON(webApp + "/GetHccShowData.do?" + new Date().getTime() + "limit=" + Hcc.limit, function (data){ //****************** } |
此外,也可以使用以下方法:
Hcc.limit = Hcc.limit || 15;
$.ajax({
type:"GET",
url:webApp + "/GetHccShowData.do?" + "limit=" + Hcc.limit,
cache:false,
async:false,
dataType:"json",
success:function(data){
Hcc.ShowData = data;
/**
* 处理代码
***/
data = null;
}
});
cache:配置为false时,表示不从浏览器缓存中获取数据,调试时可以看到,发Get请求时,会自动加上时间戳
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。