jquery ajax請教的快取問題

admin發表於2017-03-05

在預設狀態下,jquery  ajax請教的cache是true,也就是說可以從瀏覽器快取中讀取資料,在IE瀏覽器中是沒有問題的,但是在火狐等瀏覽器中還是要實時從伺服器請求,有時候在資料較大的時候,從快取讀取資料能夠有效的減輕伺服器壓力,所以要相容所有瀏覽器就需要進行一下判斷,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
function ajax_show(apartId,roomClass,sortTile){
  HX_THIS_FANGXING_NUM=sortTile;
  huxing_pic_set_color();    
  var this_li=$('#title_'+sortTile);
  var cache=this_li.data("cache");
  if(undefined!=cache){
    var data_arr =cache.split('-');
    xg_pic_links=data_arr[0];//快取記錄
    layout_pic_links=data_arr[1];
    layout_big_pic_links=data_arr[2];
    product_links=data_arr[3];
    xg_pic_deal_array();
    xg_show_pic(xg_now_pic_id);
  }
  else{
    $.ajax({//用JQ的快取cache在FF下還是會發起新請求
      type: "POST",
      url: "index.php?m=content&c=index&a=ajax_all_pic",
      data: "apartId=123&roomClass=123",
      dataType:'text',
      success: function(backdata){
        this_li.data('cache',backdata);//快取記錄     
        var data_arr =backdata.split('-');
        xg_pic_links=data_arr[0];    
        layout_pic_links=data_arr[1];
        layout_big_pic_links=data_arr[2];
        product_links=data_arr[3];
        xg_pic_deal_array();
        xg_show_pic(xg_now_pic_id);             
      }
    });
  } 
}

相關文章