Question
J'ai récemment utilisé EasyUI pour développer un système backend et j'ai trouvé un problème étrange lors des tests $('dg').datagrid('reload'); Lors du rechargement des données de la table, IE n'a pas répondu du tout. Plus tard, j'ai découvert que ce n'était pas qu'il n'y avait pas de réponse, mais que le navigateur utilisait le cache.
Solution
Les solutions résumées par les internautes en ligne sont les suivantes :
1. Ajoutez un horodatage après l'URL pour rendre l'URL consultée lors du premier chargement et rechargement incohérente, rendant le système incapable d'utiliser le cache IE. Grâce aux tests, il a été constaté qu'EasyUI est déjà livré avec une chaîne de nombres aléatoires_145232xxx lors des requêtes, mais IE utilise toujours le cache. Plus tard, j'ai ajouté rand=xxx (nombre aléatoire généré par Math.rand()) à l'URL dans le js demandé et le cache ne serait pas utilisé. (J'ai testé de ie8 à ie11)
2. Utilisez quelque chose comme ajouter à
pour vider le cache :Malheureusement, comme de nombreux internautes, j'ai également échoué avec cette méthode. :(
3. Déclarez la méthode correspondant à la charge de la grille de données comme 'POST'. Mais il y a quelques questions :
•Si l'interface du serveur ne prend pas en charge la méthode POST, elle sera interrompue.
•Si l'interface du serveur peut être contrôlée par elle-même, ce genre de compromis pour le front-end aura pour conséquence que l'interface ne sera pas du tout RESTful ! Il faut savoir que la conception des interfaces RESTful pour les requêtes est essentiellement GET.
Résumé
La première méthode consiste donc à ajouter vous-même des nombres aléatoires à l'URL. Pardonnez-moi pour mon obsession du code et je ne veux pas changer l'interface du serveur _(:з ∠)_.