插件 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,则会获得更一致的结果。

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了