jquery的ajax缓存问题

来源:互联网 发布:python写一个爬虫 编辑:程序博客网 时间:2024/06/06 16:45

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


原创粉丝点击