解析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 相关文章推荐
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
Oct 11 Javascript
jQuery中$.fn的用法示例介绍
Nov 05 Javascript
Jquery实现顶部弹出框特效
Aug 08 Javascript
js检查是否关闭浏览器的方法
Aug 02 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
Oct 29 Javascript
超全面的JavaScript开发规范(推荐)
Jan 21 Javascript
深入探究angular2 UI组件之primeNG用法
Jul 26 Javascript
JavaScript面向对象精要(下部)
Sep 12 Javascript
Node配合WebSocket做多文件下载以及进度回传
Nov 07 Javascript
vue.config.js常用配置详解
Nov 14 Javascript
详解element-ui动态限定的日期范围选择器代码片段
Jul 03 Javascript
详解如何在Javascript中使用Object.freeze()
Oct 18 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 多维数组排序(usort,uasort)
2010/06/30 PHP
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
用Juery网页选项卡实现代码
2011/06/13 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
js使用ajax读博客rss示例
2014/05/06 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
jQuery滚动监听实现商城楼梯式导航效果
2017/03/06 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
详解Python中with语句的用法
2015/04/15 Python
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
python 整数越界问题详解
2019/06/27 Python
Django时区详解
2019/07/24 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
python中栈的原理及实现方法示例
2019/11/27 Python
python实现微信打飞机游戏
2020/03/24 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
儿子婚宴答谢词
2014/01/09 职场文书
泰山导游词
2015/02/02 职场文书