解析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。現(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);//緩存記錄,來做標記
復制代碼 代碼如下:
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);//緩存記錄,來做標記
相關文章
jQuery+CSS實現(xiàn)菜單滑動伸展收縮(仿淘寶)
淘寶網(wǎng)上的菜單滑動伸展收縮想必大家不會很陌生吧,接下來本文也使用jquery+css實現(xiàn)一個,代碼很簡潔功能很使用,感興趣的各位可以不要錯過了哈2013-03-03ASP.NET jQuery 實例13 原創(chuàng)jQuery文本框字符限制插件-TextArea Counter
這節(jié)介紹一個自己寫的jQuery文本框字符限制插件,至于如何寫插件,我這里就不多講了,可以查看相關介紹,這里主要介紹下該插件的功能2012-02-02jQuery contains過濾器實現(xiàn)精確匹配使用方法
contains 選擇器選取包含指定字符串的元素。該字符串可以是直接包含在元素中的文本,或者被包含于子元素中。經(jīng)常與其他元素/選擇器一起使用,來選擇指定的組中包含指定文本的元素2013-04-04jQuery源碼分析-05異步隊列 Deferred 使用介紹
異步隊列是一個鏈式對象,增強對回調函數(shù)的管理和調用,用于處理異步任務2011-11-11多個datatable共存造成多個表格的checkbox都被選中
所以當有多個datatable 引用到一個頁面中的時候,全選事件會匹配全部的datatable,所以造成全部多個表格的checkbox被都被選中2013-07-07JQuery Easyui Tree的oncheck事件實現(xiàn)代碼
最近項目中有用到Easyui Tree,我想要checkbox的選中事件,但是api只提供了一個onClick事件,我百度、google之后,額,還是看js吧2010-05-05jquery序列化form表單使用ajax提交后處理返回的json數(shù)據(jù)
這篇文章主要介紹了jquery序列化form表單,使用ajax提交后處理返回的json數(shù)據(jù)的示例,需要的朋友可以參考下2014-03-03