加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

剖析jquery中的ajax缓存问题

发布时间:2023-08-31 14:20:54 所属栏目:教程 来源:
导读:jquery的ajax请求默认请求cache是true 也就是开启的,dataType为script和jsonp时默认为false。现在我要在浏览器里读取缓存,因为ajax请求的数据很大,请求一次就够了。但是问题来了,在FF里面,是没有ajax缓存的,也
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];   
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章