Ya he configurado la opción 'cache: true', pero la caché parece funcionar solo en IE, pero no en Firefox y Chrome. ¿Es un problema conocido?La opción de caché de jQuery .ajax no funciona en Firefox y Chrome?
Respuesta
La opción cache
no es un caché especial que jQuery mantiene, por lo que quizás sea un poco inapropiado.
cache: false
anexa que se solicita una marca de tiempo a la URL, por lo que fuerzas el navegador para agarrar una copia nueva, que es más de un caché automático.cache: true
no hace nada, el almacenamiento en caché del navegador nativo se deja hacer lo que sea que vaya a hacer aquí.
No es algo específico de jQuery, sino cómo los diferentes navegadores eligen cachear una respuesta o no. If your cache headers are set correctly diciendo al navegador a almacenarlo en caché, entonces debería. Sin embargo, a IE le gusta almacenar en caché las solicitudes incluso cuando no hay instrucciones de encabezado para ... que es probablemente el comportamiento que estás viendo. Sin embargo, si es el comportamiento que desea, agregue los encabezados de control de caché (consulte el enlace anterior) a las páginas que desea almacenar en la caché también en otros navegadores.
Creo que tus booleanos están al revés. 'cache: false' agrega la cadena de consulta de marca de tiempo, mientras que' cache: true' se predetermina al comportamiento del navegador. – RANGER
@cbh - ¡Uy, estás en lo correcto, actualizado! –
¿Por qué el operador aceptó la respuesta? Tengo el mismo problema con Chrome. No importa lo que haga, no puedo obtener un 304 para una solicitud de ajax aunque el servidor envíe los encabezados Etag y Last-Modified correctamente. También recibo un 304 cuando solicito la URL directamente desde la barra de direcciones, pero no desde ajax, por lo que claramente no es un problema para el servidor. – cap
- 1. jQuery $ .ajax no funciona en IE8 pero funciona en Firefox y Chrome
- 2. jQuery slideToggle() no funciona en Firefox, funciona en Chrome
- 3. Jquery Form.submit() en Chrome funciona pero no en Firefox
- 4. jQuery CSS rendering - funciona en Firefox, no en Chrome
- 5. Jquery AJAX no funciona en IE9
- 6. jQuery Ajax (antes de enviar y completar) funciona correctamente en Firefox pero no en IE8 y Chrome
- 7. .is jQuery ("Visible") funciona en Firefox, pero no Chrome
- 8. Chrome no maneja la consulta jquery ajax
- 9. Jquery .show() no funciona en firefox
- 10. jQuery .append() no funciona en IE, Safari y Chrome
- 11. innerHtml funciona en IE y Firefox, Chrome, pero no
- 12. jQuery $ manejador .ajax, el error no funciona
- 13. GIF animado que no funciona en FireFox después del caché
- 14. La aplicación de formulario de Firefox jQuery no funciona
- 15. jQuery ajax cache ¿no funciona?
- 16. jQuery val no funciona correctamente en Chrome
- 17. Evite que Chrome guarde en caché las solicitudes de AJAX
- 18. ABSMIDDLE funciona de manera diferente en Firefox y Chrome?
- 19. CORS no funciona en Chrome
- 20. jquery ajax respuesta lenta en Google Chrome
- 21. jQuery ajax() opción - xhr
- 22. jQuery Ajax almacenamiento en caché
- 23. Firefox no puede analizar cadena JSON en jQuery Respuesta AJAX
- 24. ¿Por qué la descarga de jQuery no funciona en Chrome y Safari?
- 25. Animación CSS: ¿Funciona en Chrome pero no en Firefox?
- 26. MouseWheel en Chrome y Firefox
- 27. jQuery event.preventDefault() no funciona en Firefox (JSFiddle incluido)
- 28. comportamiento extraño con AJAX/jQuery y Chrome
- 29. jQuery/iframe no funciona en Chrome
- 30. prop ("disabled", true); Y attr ('discapacitados', 'discapacitado') no funciona en Chrome y Firefox
caché: verdadero solo funciona con solicitud GET y HEAD. –