解析jquery中的ajax缓存问题


Posted in Javascript onDecember 19, 2013

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 验证日期的函数
Mar 18 Javascript
Javascript 面向对象 命名空间
May 13 Javascript
来自国外的页面JavaScript文件优化
Dec 08 Javascript
jquery控制select的text/value值为选中状态
Jun 03 Javascript
jQuery动画与特效详解
Feb 01 Javascript
AngularJS表单编辑提交功能实例
Feb 13 Javascript
JavaScript中的splice()方法使用详解
Jun 09 Javascript
JS中的phototype详解
Feb 04 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
Jun 22 Javascript
微信小程序云开发详细教程
May 16 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
May 09 Javascript
基于javascript处理nginx请求过程详解
Jul 07 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
Dec 19 #Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
Dec 19 #Javascript
Json序列化和反序列化方法解析
Dec 19 #Javascript
利用js(jquery)操作Cookie的方法说明
Dec 19 #Javascript
JQUERY dialog的用法详细解析
Dec 19 #Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
Dec 19 #Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
Dec 19 #Javascript
You might like
可定制的PHP缩略图生成程式(需要GD库支持)
2007/03/06 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
php生成微信红包数组的方法
2019/09/05 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
ES6新特性之模块Module用法详解
2017/04/01 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
杭州联环马网络笔试题面试题
2013/08/04 面试题
小学生美德少年事迹
2014/02/02 职场文书
手术室护士长竞聘书
2014/03/31 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
就业协议书范本
2014/10/08 职场文书
孙振耀退休感言
2015/08/01 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
nginx中proxy_pass各种用法详解
2021/11/07 Servers