Documento Inglês
O plug-in jquery-ajax-cache estende $.ajax
do jQuery e fornece uma maneira muito conveniente de armazenar em cache solicitações ajax em 'localStorage' ou 'sessionStorage'. A única coisa que você precisa fazer é implementar o método cacheValidate
para verificar se os resultados retornados precisam ser armazenados em cache. O plug-in limpará os dados expirados durante o carregamento da página e nos processos de leitura e gravação de dados para evitar o acúmulo de dados expirados. Ao mesmo tempo, você também pode chamar $ajaxCache.deleteAllExpires()
para limpar manualmente o cache expirado.
1. Fácil de usar!
2. Ainda fácil de usar! !
3. Coisas importantes 3 vezes, fácil! ! !
4. Limpe os dados expirados tanto quanto possível para evitar estouro
Baixe o jquery-ajax-cache mais recente
caramanchão
bower instala jquery-ajax-cache
npm
npm instalar jquery-ajax-cache --save-dev
<script src="../node_modules/jquery/dist/jquery.js"></script><script src='../dist/jquery-ajax-cache.min.js'></script>
Porque em aplicações reais, o resultado retornado pelo plano de fundo pode ser informação de sucesso ou informação de falha. Portanto, só precisamos armazenar as solicitações que consideramos bem-sucedidas em termos de negócios. O plug-in jquery-ajax-cache reserva um método cacheValidate
para os usuários determinarem se a solicitação foi bem-sucedida.
cacheValidate
(este método precisa ser chamado uma vez globalmente)$ajaxCache.config({//A lógica de negócios determina se a solicitação está armazenada em cache, res é o resultado de retorno do ajax, options é o parâmetro de $.ajax cacheValidate: function (res, options) { //Opcional, configure se a verificação global precisa métodos para serem armazenados em cache, "configuração global" e "personalizada", pelo menos um método cacheValidate de implementação return true // Todos os casos são armazenados em cache // return res.state === 'ok' //; Armazenar em cache somente quando certas condições forem atendidas // retornar falso; // Não armazenar em cache}, storageType: 'localStorage', //Opcional, 'localStorage' ou 'sessionStorage', tempo limite padrão de 'localStorage': 60 * 60, //Opcional , a unidade é segundos. O padrão é 1 hora});$.ajax({//Ao usar, basta adicionar uma linha de atributos ajaxCache: trueajaxCache: true // "Configuração global" e "personalizada", pelo menos uma implementação do método cacheValidate/* outros... */});
cacheValidate
para uma única solicitação$.ajax(//Os parâmetros aqui substituirão as configurações em 'Configuração Global' ajaxCache: {//A lógica de negócios determina se a solicitação está armazenada em cache, res retorna o resultado para ajax, opções é o parâmetro de $.ajax cacheValidate: function (res, opções) { //Opcional, configure o método global para verificar se o cache é necessário, "configuração global" e "customizada", pelo menos uma implementação do método cacheValidate return true; // Armazenamento em cache em todos os casos // return; res.state === 'ok'; // Armazenar em cache somente se certas condições forem atendidas // retornar false; // Não armazenar em cache}, storageType: 'localStorage', //Optional, 'localStorage' ou 'sessionStorage', padrão ' localStorage'timeout: 60 * 60, //Opcional, unidade de segundos O padrão é 1 hora, forceRefresh: false //Opcional, o padrão é falso. Se deve forçar uma solicitação de atualização. Esta solicitação não lê o cache e, se a solicitação for bem-sucedida, o cache será atualizado. Cenários de aplicativo como: atualização suspensa}});
Não há necessidade de ligar ativamente, a menos que haja circunstâncias especiais, o plug-in limpará automaticamente os dados expirados
$ajaxCache.deleteAllExpires();