zoukankan      html  css  js  c++  java
  • jquery的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];
    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);//缓存记录  ,来做标记

  • 相关阅读:
    团队作业(三)
    第四章学习笔记
    2.3.1测试
    缓冲区溢出漏洞实验
    第三章学习笔记
    团队作业(二)
    第十一章学习笔记
    第7,8章自学笔记
    stat命令实现—mystat
    第五章学习笔记
  • 原文地址:https://www.cnblogs.com/steptoupper/p/2373340.html
Copyright © 2011-2022 走看看