DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> 解析jquery中的ajax緩存問題
解析jquery中的ajax緩存問題
編輯:JQuery特效代碼     
jquery的ajax請求默認請求cache是true 也就是開啟的,dataType為script和jsonp時默認為false。現在我要在浏覽器裡讀取緩存,因為ajax請求的數據很大,請求一次就夠了。但是問題來了,在FF裡面,是沒有ajax緩存的,也就是每次都會觸發ajax請求,這點和IE不一樣。所以在這裡就得注意,做個判斷,阻止觸發ajax事件。
. 代碼如下:
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);            
               }
           });

          }
    }

通過this_li.data('cache',backdata);//緩存記錄,來做標記
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved