Frage
Ich habe kürzlich EasyUI zum Entwickeln eines Backend-Systems verwendet und beim Testen $('dg').datagrid('reload'); beim Neuladen von Tabellendaten festgestellt, dass der IE überhaupt nicht reagiert hat. Später fand ich heraus, dass es nicht daran lag, dass keine Antwort kam, sondern dass der Browser Cache verwendete.
Lösung
Die von Online-Internetnutzern zusammengefassten Lösungen umfassen Folgendes:
1. Fügen Sie nach der URL einen Zeitstempel hinzu, um die URL, auf die beim ersten Laden und Neuladen zugegriffen wird, inkonsistent zu machen, sodass das System den IE-Cache nicht verwenden kann. Durch Tests wurde festgestellt, dass EasyUI bei Anfragen bereits eine Zeichenfolge mit Zufallszahlen_145232xxx enthält, der IE jedoch weiterhin den Cache verwendet. Später habe ich rand=xxx (von Math.rand() generierte Zufallszahl) zur URL in den angeforderten js hinzugefügt und der Cache wurde nicht verwendet. (Ich habe von ie8 bis ie11 getestet)
2. Verwenden Sie zum Beispiel das Hinzufügen von , um den Cache zu leeren:
Leider bin auch ich, wie viele Internetnutzer, mit dieser Methode gescheitert. :(
3. Deklarieren Sie die der Auslastung des Datagrids entsprechende Methode als „POST“. Aber es gibt ein paar Fragen:
•Wenn die Serverschnittstelle die POST-Methode nicht unterstützt, wird sie eingestellt.
•Wenn die Serverschnittstelle selbst gesteuert werden kann, führt ein solcher Kompromiss für das Frontend dazu, dass die Schnittstelle überhaupt nicht REST-fähig ist! Sie müssen wissen, dass das Design von RESTful-Schnittstellen für Abfragen grundsätzlich GET ist.
Zusammenfassung
Die erste Methode besteht also darin, der URL selbst Zufallszahlen hinzuzufügen. Verzeihen Sie mir meine Code-Besessenheit, ich möchte die Serverschnittstelle _(:з ∠)_ nicht ändern.