Frage
Vor kurzem habe ich Easyui verwendet, um ein Hintergrundsystem zu entwickeln. Ich fand während des Tests ein seltsames Problem. $ ('dg'). datagrid ('reload'); Beim Nachladen der Tabellendaten hatte ich überhaupt keine Reaktion. Später fand ich heraus, dass es nicht so war, dass es keine Antwort gab, sondern dass der Browser Cache verwendete.
Lösung
Es gibt mehrere Lösungen, die von den Internetnutzern online zusammengefasst sind:
1. Fügen Sie nach der URL einen Zeitstempel hinzu, so dass die URL in der ersten Last und nach dem Nachladen inkonsistent ist, sodass das System den IE -Cache nicht verwenden kann. Durch Tests wurde festgestellt, dass die EasyUi -Anforderung bereits über eine Reihe von Zufallsnummern enthält. Später habe ich dem angeforderten JS Rand = xxx (zufällige Zahl generiert von math.rand ()) hinzugefügt und würde keinen Cache verwenden. (Ich habe von IE8 auf IE11 getestet)
2. Verwenden Sie einen ähnlichen Weg wie <meta> zu <kopf>, um den Cache zu löschen:
Die Codekopie lautet wie folgt:
<Meta http-äquiv = "pragma" content = "no-cache">
<Meta http-äquiv = "cache-control" content = "no-cache, must-revalidat">
<Meta http-äquiv = "abläuft" content = "Mi, 26. Februar 1997 08:21:57 GMT">
Leider habe ich wie viele Internetnutzer diese Methode nicht bestanden. :(
3. Deklarieren Sie die Methode, die dem Datagrid -Laden als "Post" entspricht, diese Lösung ist die schnellste. Aber es gibt mehrere Probleme:
• Wenn die Serverschnittstelle den Post -Modus nicht unterstützt, wird sie gestoppt.
• Wenn die Serverschnittstelle sie selbst steuern kann, führt diese Art des Kompromisses für das Front-End dazu, dass die Schnittstelle überhaupt nicht erholsam ist! Sie sollten wissen, dass die erholsame Schnittstelle im Grunde genommen für das Abfragendesign erhältlich ist.
Zusammenfassen
Es ist also die erste Methode. Das Hinzufügen von Zufallszahlen in der URL ist einfach zu bedienen. Verzeihen Sie mir, dass ich von dem Code besessen bin, dass ich die Serverschnittstelle nicht ändern möchte. _ (: З」 test) _.