Ich stehe derzeit ein kleines Problem mit HTTP-Post-Forms und Geschichte Pushstate.history.pushstate und HTTP POST Formular repost
Wenn mein Benutzer ein POST-Formular in example.com/page-1
sendet und dann auf einen Link auf dieser Seite klickt, werden sie mit einem history.pushstate an example.com/page-2
umgeleitet. Das JS-Skript ändert nur die aktuelle URL, schiebt das alte in den Verlauf und zeigt dann den neuen Inhalt an. Das funktioniert ganz gut für mich.
Das Problem: Sobald der Benutzer auf example.com/page-2
und aktualisiert die Seite manuell (ctrl + r oder Refresh-Button), Chromes fordert den Benutzer das Formular erneut vorzulegen; aber das Formular war tatsächlich in example.com/page-1
und es gibt keinen Grund, es auf dieser "neuen" Seite erneut zu fragen.
Gibt es eine Möglichkeit, alle zuvor in javascript übermittelten Daten in der Popstate-Änderung zu löschen, um die erneute Eingabeaufforderung vom Browser zu verhindern? Oder vermisse ich etwas mit meinen historischen Zuständen? Oder ist es etwas, das der Browser derzeit noch nicht implementiert?
Ich habe es nur mit Chrome getestet, da ich den Pushstate nicht mit anderen Browsern implementiere.
Hallo, Ich habe das gleiche Problem mit replaceState, aber ich sende jetzt meine Formulare über Ajax, die das Problem löst. Ich denke, dass die Verwendung von Javascript history.pushstate und replacestate ohne das Senden von Formularen über Ajax ist keine gute Sache zu tun, da es ziemlich einfach ist, dies mit jquery, mootools etc. zu tun. – pafounet