Est-il possible de déterminer si une réponse retournée par $ .ajax a été affichée à partir du cache du navigateur ou était récente?jQuery réponse html
Merci.
Est-il possible de déterminer si une réponse retournée par $ .ajax a été affichée à partir du cache du navigateur ou était récente?jQuery réponse html
Merci.
Non, ce n'est pas possible. Ce que vous pouvez faire est de créer une nouvelle URL à chaque fois (par exemple en ajoutant une chaîne aléatoire à l'URL, qui est ignorée par le script sur le serveur), ou en définissant les en-têtes de cache de la réponse de manière appropriée.
Voir: http://www.mnot.net/cache_docs/#CACHE-CONTROL
Vous pouvez définir max-age
, no-store
, no-cache
, must-revalidate
ou une combinaison des précédents.
En outre, la balise img a une propriété 'complete' pour indiquer si oui ou non le navigateur a chargé une image particulière. http://www.devguru.com/technologies/ecmascript/quickref/image.html – karim79
Merci. Je vois maintenant. –
Vous pouvez utiliser les éléments suivants dans jQuery pour vous assurer qu'il ne cache:
$.ajaxSetup({cache: false}});
Je ne suis pas sûr de ce que vous cherchez à atteindre.
Si vous voulez vraiment savoir si les données sont obsolètes, vous pouvez faire quelque chose comme:
Je ne souhaite pas modifier la requête. Je veux juste savoir après avoir reçu une réponse du serveur (pas nécessairement le mien) en utilisant AJAX si la réponse était en cache ou fraîche. –
En tout cas, merci! –
changer votre titre pour refléter ce que vous demandez plus clairement, par exemple « Déterminer si la réponse jQuery html a été mis en cache ou frais » – jlarson