使用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请求时,会自动加上时间戳

 

posted on 2014-12-30 16:10  屠龙尊者  阅读(236)  评论(0编辑  收藏  举报