插件 jQuery-ajax-localstorage-cache 中文API文档
插件 jquery-ajax-localstorage-cache 中文API文档
源码 & 下载
- Github地址:https://github.com/SaneMethod/jquery-ajax-localstorage-cache
- 源码下载: -
- 效果演示: -
适用场景
使用浏览器的本地存储或任何与存储接口兼容的对象存储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,则会获得更一致的结果。