Английский документ
Плагин jquery-ajax-cache расширяет $.ajax
jQuery и обеспечивает очень удобный способ кэширования ajax-запросов в «localStorage» или «sessionStorage». Единственное, что вам нужно сделать, это реализовать метод cacheValidate
, чтобы проверить, нужно ли кэшировать возвращаемые результаты. Плагин будет очищать просроченные данные во время загрузки страницы, а также процессов чтения и записи данных, чтобы избежать накопления просроченных данных. В то же время вы также можете вызвать $ajaxCache.deleteAllExpires()
чтобы вручную очистить кэш с истекшим сроком действия.
1. Простота в использовании!
2. По-прежнему прост в использовании! !
3. Важные дела 3 раза, легко! ! !
4. Максимально очистите просроченные данные, чтобы избежать переполнения.
Загрузите последнюю версию jquery-ajax-cache
беседка
установка беседки jquery-ajax-cache
НПМ
npm установить jquery-ajax-cache --save-dev
<script src="../node_modules/jquery/dist/jquery.js"></script><script src='../dist/jquery-ajax-cache.min.js'></script>
Потому что в реальных приложениях результатом, возвращаемым фоном, может быть информация об успехе или информация об ошибке. Таким образом, нам нужно буферизовать только те запросы, которые, по нашему мнению, успешны с точки зрения бизнеса. Плагин jquery-ajax-cache резервирует метод cacheValidate
, чтобы пользователи могли определить, успешен ли запрос.
cacheValidate
(этот метод необходимо вызвать один раз глобально)$ajaxCache.config({//Бизнес-логика определяет, кэшируется ли запрос, res — результат возврата ajax, options — параметр $.ajaxcacheValidate: function (res, options) { //Необязательно, настройте, нужна ли глобальная проверка быть кэшированными Методы, «глобальная конфигурация» и «пользовательский», хотя бы одна реализация метода cacheValidate return true // Все случаи кэшируются // return res.state === 'ok'; Кэшировать только при выполнении определенных условий // возвращаем false; // Не кэшировать}, StorageType: 'localStorage', //Необязательно, 'localStorage' или 'sessionStorage', тайм-аут 'localStorage' по умолчанию: 60 * 60, //Необязательно. , единица измерения — секунды. По умолчанию — 1 час});$.ajax({//При использовании просто добавьте строку атрибутов ajaxCache: trueajaxCache: true // «Глобальная конфигурация» и «пользовательская», хотя бы одна реализация метода cacheValidate/* другие... */});
cacheValidate
для одного запроса$.ajax(//Здесь параметры переопределяют настройки в «Глобальной конфигурации» ajaxCache: {//Бизнес-логика определяет, кэшируется ли запрос, res возвращает результат для ajax, options — это параметр $.ajax cacheValidate: function (res, options) { //Необязательно, настройте глобальный метод, чтобы проверить, требуется ли кеширование, «глобальная конфигурация» и «пользовательская», хотя бы одна реализация метода cacheValidate return true // Кэширование во всех случаях // return; res.state === 'ok'; // Кэшируем только при выполнении определенных условий // возвращаем false // Не кэшировать}, StorageType: 'localStorage', //Необязательно, 'localStorage' или 'sessionStorage', по умолчанию; ' localStorage'timeout: 60 * 60, // Необязательно, единица измерения — секунды. По умолчанию — 1 час, ForceRefresh: false // Необязательно, по умолчанию — false. Следует ли принудительно выполнить запрос на обновление. Этот запрос не считывает кэш, и если запрос успешен, кэш будет обновлен. Сценарии приложений, такие как: раскрывающееся обновление}});
Нет необходимости активно звонить, если нет особых обстоятельств, плагин автоматически очистит просроченные данные.
$ajaxCache.deleteAllExpires();