etdsolutions / jquery-ajax-localstorage-cache
There is no license information available for the latest version (dev-master) of this package.
Store ajax responses using the browser's local storage cache
dev-master
2015-11-26 08:18 UTC
This package is not auto-updated.
Last update: 2024-11-09 18:59:16 UTC
README
jquery-ajax-localstorage-cache - abbreviated Jalc from here on, because the full name is a mouthful.
Jalc is a plugin built for jQuery (> 1.5.1) and any object implementing the storage interface, such as localStorage.
It's built on a fork from the jStorage-dependent original. It provides a client-side cache for AJAX responses intended to save bandwith and time.
Usage
Parameters
$.ajax({ url : '/post', localCache : true, // Required. Either a boolean, in which case localStorage will be used, or an object that implements the Storage interface. cacheTTL : 1, // Optional. In hours. cacheKey : 'post', // optional. isCacheValid : function(){ // optional. return true; } }).done(function(response){ // The response is available here. });
On your AJAX request you get 4 new parameters :
- localCache
- Turn localCache on/off, or specify an object implementing the Storage interface to use.
- Default: false
- cacheTTL
- time in hours the entry should be valid.
- only for this specific ajax request
- Default : 5 hours
- cacheKey
- CacheKey is the key that will be used to store the response in localStorage. It allow you to delete your cache easily with the localStorage.removeItem() function.
- Default: URL + TYPE(GET/POST) + DATA
- isCacheValid
- This function must return true or false. On false, the cached response is removed.
- Default: null
Notes
- You can delete the cache by using
localStorage.clear()
, or by usinglocalStorage.removeItem('cacheKey')
if you specified a cacheKey. Note the above assumes you're using localStorage - replace as appropriate with your Storage interface implementing object. - Note that you can pre-load content with this plugin. You just have do to an initial AJAX request with the same cacheKey.
License
This project is distributed under Apache 2 License. See LICENSE.txt for more information.