阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      插件 jQuery-ajax-localstorage-cache 中文API文档

      插件 jquery-ajax-localstorage-cache 中文API文档

      源码 & 下载

      适用场景

      使用浏览器的本地存储或任何与存储接口兼容的对象存储ajax响应

      插件特点

      使用浏览器的本地存储或任何与存储接口兼容的对象存储ajax响应,jquery-ajax-localstorage-cache - 从这里缩写 Jalc

      Jalc是为jQuery构建的插件(对于1.xx为> = 1.5.1,对于2.xx为> = 3.0.0)以及实现存储接口的任何对象 ,例如 localStorage,为AJAX响应提供客户端缓存旨在节省带宽和时间。

      基本用法

      $.ajax({
          url: '/post',
          localCache: true,        // 必需。布尔值,在这种情况下将使用localStorage,或实现存储接口的对象
      
          cacheTTL: 1,                // 可选。可以与float一起使用来指示一小时的一部分,例如 0.5
          cacheKey: 'post',           // 可选.
          isCacheValid: function () {  // 可选.
              return true;
          },
          isResponseValid: function (data, status, jqXHR) {  // 可选.
              return data.code === '0';
          },
          thenResponse: function (data, status, jqXHR) { // 可选,仅在版本2.x.x + 中以任何方式更改数据,以便在缓存之前对其进行更改。
              data.code = 101;
              return data;
          }
      }).done(function (response) {
          //响应
      });
      

      官方介绍

      在您的AJAX请求中,您将获得6个新参数:

      • localCache
        • 打开/关闭localCache,或指定实现要使用的存储接口的对象。
        • 默认值:false
      • cacheTTL
        • 缓存值应以多小时(以小时计)被视为有效。
        • 浮动可用于指示一小时的某些部分,例如0.5指示半小时。
        • 适用于指定/计算的cacheKey - 每个缓存对象都会尊重它自己的cacheTTL,所有缓存对象都没有“全局”TTL计时器。
        • 默认值:5小时
      • cacheKey
        • CacheKey是用于在localStorage中存储响应的密钥。
        • 回调函数也可用于返回动态生成的cacheKey。Ajax选项被传递给此回调,但请记住,该函数需要返回一个稳定的cacheKey - 也就是说,对于给定的一组参数,该函数应始终返回相同的生成的cacheKey。
        • 默认值:URL + TYPE(GET / POST)+ DATA(强制转换为字符串)
      • isCacheValid
        • 此函数必须返回true或false。如果为false,则删除缓存的响应。
        • 默认值:null
      • isResponseValid
        • 此函数必须返回’truthy’值(布尔值,或可强制转换为布尔值)。在falsey时,不缓存来自服务器的响应。
        • 默认值:null
      • thenResponse
        • 此函数必须返回要传递给下一个then或done块的数据。允许您指定一个函数,该函数将在缓存并返回数据之前以某种方式更改数据。请记住,只有从远程获取时才会从缓存中获取此函数,因此不要依赖它来执行每次进行ajax调用时要进行的转换 - 这些应该改为在then你的ajax请求块中。
        • 默认值:null

      注意

      • 您可以使用localStorage.clear(),或者localStorage.removeItem(‘cacheKey’) 如果指定了cacheKey ,则可以删除缓存。请注意,上面假设您使用的是localStorage - 根据您的存储接口实现对象进行替换。
      • 您可以使用此插件预加载内容。您只需要使用相同的cacheKey执行初始AJAX请求。
      • 在大多数情况下,您可以依赖于dataType jQuery ajax参数的“智能猜测” ,并且不使用dataType参数,插件将存储从服务器返回的内容类型以及数据。但是,如果在ajax参数中明确指定dataType,则会获得更一致的结果。
      目录
      目录