Document anglais
Le plug-in jquery-ajax-cache étend $.ajax
de jQuery et fournit un moyen très pratique de mettre en cache les requêtes ajax dans « localStorage » ou « sessionStorage ». La seule chose que vous devez faire est d'implémenter la méthode cacheValidate
pour vérifier si les résultats renvoyés doivent être mis en cache. Le plug-in effacera les données expirées pendant le chargement des pages et les processus de lecture et d'écriture des données pour éviter l'accumulation de données expirées. En même temps, vous pouvez également appeler $ajaxCache.deleteAllExpires()
pour vider manuellement le cache expiré.
1. Facile à utiliser !
2. Toujours simple à utiliser ! !
3. Les choses importantes 3 fois, facilement ! ! !
4. Effacez autant que possible les données expirées pour éviter tout débordement
Téléchargez la dernière version de jquery-ajax-cache
tonnelle
bower installer jquery-ajax-cache
npm
npm installer jquery-ajax-cache --save-dev
<script src="../node_modules/jquery/dist/jquery.js"></script><script src='../dist/jquery-ajax-cache.min.js'></script>
Parce que dans les applications réelles, le résultat renvoyé par l'arrière-plan peut être des informations de réussite ou d'échec. Nous devons donc uniquement mettre en mémoire tampon les demandes que nous pensons fructueuses en termes commerciaux. Le plug-in jquery-ajax-cache réserve une méthode cacheValidate
aux utilisateurs pour déterminer si la requête aboutit.
cacheValidate
(cette méthode doit être appelée une fois globalement)$ajaxCache.config({//La logique métier détermine si la requête est mise en cache, res est le résultat de retour ajax, options est le paramètre de $.ajax cacheValidate : function (res, options) { //Facultatif, configurez si une vérification globale est nécessaire à mettre en cache Méthodes, "configuration globale" et "personnalisée", au moins une méthode cacheValidate d'implémentation renvoie true; // Tous les cas sont mis en cache // return res.state === 'ok' //; Mettre en cache uniquement lorsque certaines conditions sont remplies // renvoie false ; // Ne pas mettre en cache}, storageType : 'localStorage', //Facultatif, 'localStorage' ou 'sessionStorage', délai d'expiration 'localStorage' par défaut : 60 * 60, //Facultatif , l'unité est la seconde. La valeur par défaut est 1 heure});$.ajax({//Lors de l'utilisation, ajoutez simplement une ligne d'attributs ajaxCache : trueajaxCache : true // "Configuration globale" et "personnalisée", au moins une implémentation de la méthode cacheValidate/* autres... */});
cacheValidate
pour une seule requête$.ajax(//Les paramètres ici remplaceront les paramètres dans 'Configuration globale' ajaxCache : {//La logique métier détermine si la requête est mise en cache, res renvoie le résultat pour ajax, options est le paramètre de $.ajax cacheValidate : function (res, options) { //Facultatif, configurez la méthode globale pour vérifier si la mise en cache est requise, "configuration globale" et "personnalisée", au moins une implémentation de la méthode cacheValidate return true; // Mise en cache dans tous les cas // return res.state === 'ok'; // Mettre en cache uniquement si certaines conditions sont remplies // return false; // Ne pas mettre en cache}, storageType : 'localStorage', //Facultatif, 'localStorage' ou 'sessionStorage', par défaut ' localStorage' timeout : 60 * 60, //Facultatif, unité en secondes La valeur par défaut est 1 heure, forceRefresh : false //Facultatif, la valeur par défaut est false. S'il faut forcer une demande d'actualisation. Cette demande ne lit pas le cache, et si la demande réussit, le cache sera mis à jour. Scénarios d'application tels que : actualisation déroulante}});
Pas besoin d'appeler activement, sauf circonstances particulières, le plug-in effacera automatiquement les données expirées
$ajaxCache.deleteAllExpires();