Maison  >  Article  >  interface Web  >  Comment empêcher la mise en cache du navigateur des résultats AJAX dynamiques ?

Comment empêcher la mise en cache du navigateur des résultats AJAX dynamiques ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-21 15:57:09817parcourir

How to Prevent Browser Caching of Dynamic AJAX Results?

Empêcher la mise en cache du navigateur des résultats AJAX dynamiques

La mise en cache peut améliorer les performances des applications Web en réduisant le nombre de requêtes adressées au serveur. Cependant, cela peut également causer des problèmes lorsque le contenu demandé est dynamique et change fréquemment.

Dans ce cas, l'utilisateur rencontre la mise en cache du navigateur des résultats d'un appel AJAX. Cela amène le navigateur à afficher des données obsolètes ou incorrectes.

Solution : désactiver la mise en cache

Le moyen le plus efficace d'empêcher la mise en cache des résultats AJAX par le navigateur est de désactiver la mise en cache globalement. pour toutes les requêtes AJAX. Cela peut être fait en utilisant le code suivant :

$.ajaxSetup({ cache: false });

Ce code définit l'option de cache global pour toutes les requêtes AJAX sur false, ce qui empêche le navigateur de mettre les réponses en cache.

Alternatives aux chaînes aléatoires

L'utilisation d'une chaîne unique dans la chaîne de requête peut également empêcher la mise en cache du navigateur, mais ce n'est pas la seule option. Voici quelques alternatives :

  • Utilisez un horodatage : Au lieu de générer une chaîne aléatoire, utilisez un horodatage comme paramètre de chaîne de requête. Cela garantira que la chaîne de requête est unique à chaque fois que la requête AJAX est effectuée.
  • Utilisez un hachage : Générez un hachage unique basé sur les paramètres de la requête. Ce hachage peut ensuite être utilisé comme paramètre de chaîne de requête.
  • Utiliser un nom occasionnel : Un nom occasionnel est un jeton à usage unique qui peut être utilisé pour empêcher la mise en cache. Les noms occasionnels peuvent être générés à l'aide de la fonction Date.now().

Il est important de noter que ces alternatives peuvent ne pas être aussi efficaces que la désactivation de la mise en cache globale. Cependant, ils peuvent être utiles dans des situations où il n'est pas possible de désactiver la mise en cache.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn