解析jquery中的ajax緩存問題
更新時間:2013年12月19日 10:07:37 作者:
現(xiàn)在我要在瀏覽器里讀取緩存,因為ajax請求的數(shù)據(jù)很大,請求一次就夠了。但是問題來了,在FF里面,是沒有ajax緩存的,也就是每次都會觸發(fā)ajax請求,這點和IE不一樣
jquery的ajax請求默認請求cache是true 也就是開啟的,dataType為script和jsonp時默認為false?,F(xiàn)在我要在瀏覽器里讀取緩存,因為ajax請求的數(shù)據(jù)很大,請求一次就夠了。但是問題來了,在FF里面,是沒有ajax緩存的,也就是每次都會觸發(fā)ajax請求,這點和IE不一樣。所以在這里就得注意,做個判斷,阻止觸發(fā)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下還是會發(fā)起新請求
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);//緩存記錄,來做標記
復(fù)制代碼 代碼如下:
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下還是會發(fā)起新請求
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);//緩存記錄,來做標記
相關(guān)文章
jquery+ajax每秒向后臺發(fā)送請求數(shù)據(jù)然后返回頁面的代碼
jquery+ajax每秒向后臺發(fā)送請求數(shù)據(jù)然后返回頁面(包括jquery頁面加載完畢才執(zhí)行方法)2011-01-01
jQuery固定浮動側(cè)邊欄實現(xiàn)思路及代碼
如果頁面比較高,當(dāng)滾動條拖到頁面的下面的時候,側(cè)邊欄會出現(xiàn)一個固定跟隨瀏覽器的DIV框,下面將思路及具體實現(xiàn)與大家分享下2014-09-09
jquery點擊改變class并toggle的實現(xiàn)代碼
下面小編就為大家?guī)硪黄猨query點擊改變class并toggle的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05

