J'ai déjà défini l'option 'cache: true', mais le cache ne semble fonctionner que dans IE, mais pas dans Firefox et Chrome. Est-ce un problème connu?L'option de cache de jQuery .ajax ne fonctionne pas dans Firefox et Chrome?
Répondre
L'option cache
n'est pas un cache spécial que jQuery conserve, c'est peut-être un peu inapproprié.
cache: false
Ajoute un horodatage à l'URL demandée, il forces le navigateur pour saisir une nouvelle copie, il est plus d'un cache-breaker.cache: true
ne fait rien, la mise en cache native du navigateur est laissé à faire tout ce qu'il va faire ici.
Ce n'est pas une chose spécifique à jQuery, c'est la façon dont différents navigateurs choisissent de mettre en cache une réponse ou non. If your cache headers are set correctly dire le navigateur à le cache, alors il devrait. Cependant, IE aime cacher l'enfer hors des demandes même quand il n'y a aucune instruction d'en-tête à faire ... c'est vraisemblablement le comportement que vous voyez. Si c'est le comportement que vous voulez cependant, ajoutez les en-têtes de contrôle de cache (voir le lien ci-dessus) à vos pages que vous voulez mettre en cache dans d'autres navigateurs.
Je pense que vos booléens sont en arrière. 'cache: false' ajoute la chaîne de requête d'horodatage, tandis que' cache: true' utilise par défaut le comportement du navigateur. – RANGER
@cbh - oups vous avez raison, mis à jour! –
Pourquoi l'op a-t-elle accepté la réponse? J'ai le même problème avec Chrome. Peu importe ce que je fais, je ne peux pas obtenir un 304 pour une requête ajax même si le serveur envoie correctement les en-têtes Etag et Last-Modified. Je reçois également un 304 en demandant l'URL directement à partir de la barre d'adresse mais pas d'ajax, donc ce n'est clairement pas un problème de serveur. – cap
- 1. jQuery $ .ajax ne fonctionne pas dans IE8 mais il fonctionne sur FireFox et Chrome
- 2. Ajax ne fonctionne pas correctement dans Chrome/FireFox
- 3. jQuery Ajax cache désactivation ne fonctionne pas?
- 4. jquery $ .ajax() en safari et chrome ne fonctionne pas
- 5. jQuery .ajax ne fonctionne pas dans IE et Chrome
- 6. jQuery ajax cache: false fonctionne uniquement dans firefox
- 7. jQuery .slideUp() ne fonctionne pas dans Chrome
- 8. méthode jQuery .ajax dans IE7 et IE6 ne fonctionne pas, mais fonctionne bien dans Firefox
- 9. Jquery $ .Post fonctionne dans Firefox mais pas Chrome
- 10. jQuery .get XML fonctionne dans IE mais pas Chrome, Firefox
- 11. cycle de jQuery ne fonctionne pas en chrome et IE
- 12. Le formulaire ne fonctionne pas dans Safari et Chrome, mais fonctionne dans ie et firefox
- 13. Response.CacheControl ne fonctionne pas dans firefox ou chrome
- 14. jQuery .append() ne fonctionne pas dans IE, Safari et Chrome
- 15. JQuery Datepicker ne fonctionne que dans IE8 (pas de Firefox, pas de chrome pour moi)
- 16. jquery ne fonctionne pas avec le chrome
- 17. JQuery ne fonctionne pas en chrome?
- 18. Le code Jquery fonctionne dans Chrome mais pas dans Firefox
- 19. SimpleModal containerCSS ne fonctionne pas dans Firefox ou Chrome
- 20. Le script AJAX ne fonctionne pas dans Firefox
- 21. Jquery JSON .each() ne fonctionne pas dans Google Chrome
- 22. jquery $ .post ne fonctionne pas dans Firefox
- 23. Jquery img préchargement ne fonctionne pas dans FireFox
- 24. Flex crossdomain.xml ne fonctionne pas correctement dans Chrome/Firefox?
- 25. jQuery: animation de marge fonctionne dans Chrome, pas dans Firefox et IE
- 26. Javascript fonctionne dans Chrome, Safari et Opera, mais pas Firefox
- 27. Ajax jquery ne fonctionne pas
- 28. L'interface utilisateur de JQuery fonctionne dans Firefox, mais pas dans Chrome & Safari?
- 29. jQuery UI Datepicker et Google Chrome ne fonctionne pas
- 30. jquery/ajax ne fonctionne pas
Le cache: true ne fonctionne qu'avec les requêtes GET et HEAD. –