Ho già impostato l'opzione 'cache: true', ma la cache sembra funzionare solo in IE, ma non in Firefox e Chrome. È un problema noto?L'opzione cache di jQuery .ajax non funziona in Firefox e Chrome?
risposta
L'opzione cache
non è una cache speciale mantenuta da jQuery, quindi forse è un po 'impropria.
cache: false
aggiunge un timestamp all'URL stato richiesto, in modo che le forze il browser per prendere una copia fresca, è più di una cache-breaker.cache: true
non fa nulla, il caching del browser nativo è lasciato a fare qualsiasi cosa abbia intenzione di fare qui.
Non è una cosa specifica di jQuery, è solo il modo in cui i diversi browser scelgono di mettere in cache una risposta o meno. If your cache headers are set correctly dicendo al browser a nascondilo, quindi dovrebbe. Tuttavia, ad IE piace mettere a tacere le richieste, anche se non ci sono istruzioni per l'intestazione da fare per ... che è il probabilmente il comportamento che stai vedendo. Se è il comportamento che vuoi, aggiungi le intestazioni di controllo della cache (vedi il link sopra) alle pagine che vuoi mettere nella cache anche in altri browser.
Penso che i tuoi booleani siano all'indietro. 'cache: false' aggiunge la stringa di query timestamp, mentre' cache: true' assume il comportamento predefinito del browser. – RANGER
@ cbh - oops sei corretto, aggiornato! –
Perché l'op ha accettato la risposta? Ho lo stesso problema con Chrome. Non importa cosa faccio Non riesco a ottenere un 304 per una richiesta Ajax anche se il server invia correttamente intestazioni Etag e Last-Modified. Ottengo anche un 304 quando richiedo l'URL direttamente dalla barra degli indirizzi ma non da Ajax, quindi chiaramente non è un problema del server. – cap
- 1. jQuery $ .ajax non funziona in IE8 ma funziona su Firefox e Chrome
- 2. jQuery Ajax (beforeSend e complete) funziona correttamente su FireFox ma non su IE8 e Chrome
- 3. jQuery slideToggle() non funziona in Firefox, funziona in Chrome
- 4. jQuery: contains() funziona in Firefox ma non in Chrome/Safari
- 5. jQuery CSS rendering - funziona in Firefox, non in Chrome
- 6. .is jQuery (": visibili") funziona in Firefox, ma non Chrome
- 7. Jquery AJAX non funziona in IE9
- 8. CORS non funziona su Chrome/Firefox e Apache
- 9. $ post .ajax funzionante in Chrome, ma non in Firefox
- 10. Il tag di ancoraggio non funziona in firefox e chrome
- 11. jQuery $ gestore .ajax, errore non funziona
- 12. Jquery DataTable TableTool non funziona in IE e Firefox
- 13. Jquery .show() non funziona in firefox
- 14. jQuery fuoco non funziona in Chrome
- 15. document.getElementById ('btnid'). Disabled non funziona in firefox e chrome
- 16. innerHTML funziona in IE e Firefox, ma non Chrome
- 17. jQuery .each() metodo non funziona in Firefox
- 18. span: hover non funziona in Firefox ma funziona in Chrome
- 19. Jquery ajax errore casuale in Chrome solo
- 20. jQuery .append() non funziona in IE, Safari e Chrome
- 21. jQuery scrollTop firefox non funziona
- 22. CSS non funziona in IE o Firefox - Chrome funziona bene
- 23. opzione jquery selezionare non funziona in chrome
- 24. Jquery $ get/$ ajax non funziona in tutti i browser
- 25. jquery ajax risposta lenta in Google Chrome
- 26. jQuery non funziona in AJAX Pagina caricata
- 27. jQuery contiene non funziona su Chrome
- 28. Richieste Ajax bloccate e in sospeso da JQuery in Chrome
- 29. jquery "contains" codice non funziona su chrome
- 30. Perché jQuery AJAX PUT funziona in Chrome ma non in FF
cache: true funziona solo con richiesta GET e HEAD. –