解析jquery中的ajax缓存问题

 更新时间:2013年12月19日 10:07:37   作者:  
现在我要在浏览器里读取缓存,因为ajax请求的数据很大,请求一次就够了。但是问题来了,在FF里面,是没有ajax缓存的,也就是每次都会触发ajax请求,这点和IE不一样
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);//缓存记录,来做标记

相关文章

  • jQuery中bind,live,delegate与one方法的用法及区别解析

    jQuery中bind,live,delegate与one方法的用法及区别解析

    本篇文章主要是对jQuery中bind,live,delegate与one方法的用法及区别进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • jquery实现页面百叶窗走马灯式翻滚显示效果的方法

    jquery实现页面百叶窗走马灯式翻滚显示效果的方法

    这篇文章主要介绍了jquery实现页面百叶窗走马灯式翻滚显示效果的方法,实例分析了jQuery操作百叶窗翻滚效果的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • jQuery中的deferred使用方法

    jQuery中的deferred使用方法

    deferred对象是jQuery的回调函数解决方案,jQuery之前的版本中异步回调这块做的不是很好,所以后期补上了该解决方案。接下来通过本文给大家介绍jQuery中的derferred使用方法,非常不错,需要的朋友参考下
    2017-03-03
  • jQuery源码分析之sizzle选择器详解

    jQuery源码分析之sizzle选择器详解

    jquery从1.3开始,使用了新的选择器–sizzle。效率超过了以前的jquery版本的其他选择器。下面这篇文章主要介绍了jQuery源中sizzle选择器的相关资料,文中介绍的很详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • JQuery遍历元素的后代和同胞实现方法

    JQuery遍历元素的后代和同胞实现方法

    下面小编就为大家带来一篇JQuery遍历元素的后代和同胞实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 仿iframe效果Aajx文件上传实例

    仿iframe效果Aajx文件上传实例

    下面小编就为大家带来一篇仿iframe效果Aajx文件上传实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • jQuery实现上下滚动公告栏详细代码

    jQuery实现上下滚动公告栏详细代码

    之前做项目的时候,一直都想着做一个上下滚动的公告栏,作为展示网站的最新公告信息,给用户带来极好的用户体验,下面小编通过实例代码给大家分享基于jQuery实现上下滚动公告栏,感兴趣的朋友一起看看吧
    2018-11-11
  • jqTransform美化表单

    jqTransform美化表单

    本文为大家揭秘如何使表单更加美化,感兴趣的小伙伴们可以参考一下
    2015-10-10
  • div模拟选择框示例代码

    div模拟选择框示例代码

    这次项目就有这个要求了,模拟选项框,我选择使用div+css+jquery来实现,总的来说还不错,感兴趣的朋友可以参考下
    2013-11-11
  • 基于jquery的给文章加入关键字链接

    基于jquery的给文章加入关键字链接

    最近在做一个网站,遇到需要给网站内所有的文章加关键字链接的问题,我们在浏览一些网站的文章的时候,会发现文章里面的某些关键字是加了链接的,并且高亮显示。
    2010-10-10

最新评论