IE9下Ajax緩存問題


使用jQuery的getJSON從后台定時獲取數據並刷新界面,使用以下方法時,在Chrome,Firefox下沒問題,但在IE9下卻無法刷新數據

$.getJSON(webApp + "/GetShowData.do?limit=" + limit,function(data){

  //******************

}

原因是,在IE9下,進行Ajax請求時,若與之前請求相同,則不會再從瀏覽器獲取數據,而是直接從本地獲取,因此,在請求中加上時間戳,IE9便會認為是不同的請求,代碼如下:

$.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請求時,會自動加上時間戳

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM