現在我要在瀏覽器裡讀取緩衝,因為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); } }); } }