萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> 解析jquery中的ajax緩存問題

解析jquery中的ajax緩存問題

 現在我要在浏覽器裡讀取緩存,因為ajax請求的數據很大,請求一次就夠了。但是問題來了,在FF裡面,是沒有ajax緩存的,也就是每次都會觸發ajax請求,這點和IE不一樣

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);                             }            });             }      }    
copyright © 萬盛學電腦網 all rights reserved