解析jquery中的ajax缓存问题
解析jquery中的ajax缓存问题
发布时间:2016-12-30 来源:查字典编辑
摘要:jquery的ajax请求默认请求cache是true也就是开启的,dataType为script和jsonp时默认为false。现在我要在...

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);//缓存记录,来做标记

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类