Documento en inglés
El complemento jquery-ajax-cache extiende $.ajax
de jQuery y proporciona una manera muy conveniente de almacenar en caché las solicitudes ajax en 'localStorage' o 'sessionStorage'. Lo único que debe hacer es implementar el método cacheValidate
para verificar si los resultados devueltos deben almacenarse en caché. El complemento borrará los datos caducados durante los procesos de carga de la página y de lectura y escritura de datos para evitar la acumulación de datos caducados. Al mismo tiempo, también puedes llamar $ajaxCache.deleteAllExpires()
para borrar manualmente el caché caducado.
1. ¡Fácil de usar!
2. ¡Aún es fácil de usar! !
3. Cosas importantes 3 veces, ¡fácil! ! !
4. Borre los datos caducados tanto como sea posible para evitar el desbordamiento.
Descargue el último jquery-ajax-cache
cenador
instalación de bower jquery-ajax-cache
npm
npm instala jquery-ajax-cache --save-dev
<script src="../node_modules/jquery/dist/jquery.js"></script><script src='../dist/jquery-ajax-cache.min.js'></script>
Porque en aplicaciones reales, el resultado devuelto por el fondo puede ser información de éxito o información de fracaso. Por lo tanto, sólo necesitamos almacenar en búfer las solicitudes que creemos que tienen éxito en términos de negocio. El complemento jquery-ajax-cache reserva un método cacheValidate
para que los usuarios determinen si la solicitud se realizó correctamente.
cacheValidate
globalmente (este método debe llamarse una vez globalmente)$ajaxCache.config({// La lógica empresarial determina si la solicitud se almacena en caché, res es el resultado de retorno de ajax, opciones es el parámetro de $.ajax cacheValidate: function (res, options) { //Opcional, configura si se necesita verificación global para almacenar en caché Métodos, "configuración global" y "personalizado", al menos un método cacheValidate de implementación devuelve verdadero // Todos los casos se almacenan en caché // devuelve res.state === 'ok'; Almacenar en caché solo cuando se cumplen ciertas condiciones // devolver falso; // No almacenar en caché}, tipo de almacenamiento: 'localStorage', //Opcional, 'localStorage' o 'sessionStorage', tiempo de espera predeterminado de 'localStorage': 60 * 60, //Opcional , la unidad es segundos. El valor predeterminado es 1 hora});$.ajax({// Cuando lo use, simplemente agregue una fila de atributos ajaxCache: trueajaxCache: true // "Configuración global" y "personalizada", al menos una implementación del método cacheValidate/* otros... */});
cacheValidate
para una sola solicitud$.ajax(//Los parámetros aquí anularán la configuración en 'Configuración global' ajaxCache: {//La lógica empresarial determina si la solicitud se almacena en caché, res devuelve el resultado para ajax, opciones es el parámetro de $.ajax cacheValidate: función (res, opciones) { // Opcional, configure el método global para verificar si se requiere el almacenamiento en caché, "configuración global" y "personalizado", al menos una implementación del método cacheValidate devuelve verdadero // Almacenamiento en caché en todos los casos // devuelve res.state === 'ok'; // Almacenar en caché solo si se cumplen ciertas condiciones // devolver falso; // No almacenar en caché}, tipo de almacenamiento: 'almacenamiento local', //opcional, 'almacenamiento local' o 'almacenamiento de sesión', predeterminado ' localStorage'timeout: 60 * 60, //Opcional, la unidad de segundos es 1 hora por defecto, forceRefresh: false //Opcional, el valor predeterminado es falso. Si se debe forzar una solicitud de actualización, esta solicitud no lee el caché y, si la solicitud tiene éxito, el caché se actualizará. Escenarios de aplicación como: actualización desplegable}});
No es necesario realizar una llamada activa a menos que existan circunstancias especiales; el complemento borrará automáticamente los datos caducados
$ajaxCache.deleteAllExpires();