您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

解析jquery中的ajax缓存问题_jquery

2024/5/18 19:08:46发布32次查看
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);//缓存记录,来做标记
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product