Comment mettre en cache la réponse de l'API REST jQuery Ajax des objets JSON dans tous les navigateurs, principalement dans Firefox Mozilla, Chrome, IE8
Réponses:
3 pour la réponse № 1Il n’existe à l’heure actuelle aucune solution inter-navigateur pour forcer la mise en cache des demandes d’API en utilisant javascript. Vous aurez besoin d'une approche alternative, comme @Gotschi l'a recommandé.
Le meilleur moyen, et le plus courant, consiste à envoyer des en-têtes de calquage sur votre API comme recommandé par @Pekka.
Vous devez définir le contrôle de cache en-tête sur vos réponses API:
Exemple (mise en cache forcée = 3600 secondes):
Cache-Control: max-age=3600, private
La propriété privée indique que tout ou partie du message de réponse est destiné à un seul utilisateur et NE DOIT PAS être mis en cache par un cache partagé.
Si vous utilisez PHP, vous pouvez envoyer les en-têtes (avant toute sortie comme echo) comme ceci:
<?php
header("Cache-Control: max-age=3600, private");
Vous pouvez également utiliser votre configuration apache ou un fichier .htaccess:
Header set Cache-Control "Cache-Control: max-age=3600, private"
Assurez-vous de ne pas utiliser {cache:false}
dans jQuery.ajax