In der Entwicklung von Webanwendungen sind Formulare eine wichtige Möglichkeit für Benutzer, mit dem System zu interagieren. Benutzer senden jedoch manchmal mehrmals Formulare, was nicht nur zu Datenverdoppelung führt, sondern auch die Systemleistung und die Datenkonsistenz beeinflussen kann.
Um eine wiederholte Einreichung von Formularen durch Benutzer zu vermeiden, können wir die folgenden wirksamen Lösungen annehmen:
Deaktivieren Sie die Schaltfläche "Senden" über den JavaScript -Code, um zu verhindern, dass Benutzer mehrmals auf die Schaltfläche "Senden" klicken. Das Folgende ist der entsprechende Beispielcode:
Wenn das Formular geladen wird, wird eine eindeutige Kennung in einer Sitzung oder einem Cookie erzeugt und gespeichert. Senden Sie bei der Übermittlung des Formulars die Kennung zusammen und überprüfen Sie, ob die Kennung auf der Serverseite vorhanden ist. Wenn es existiert, bedeutet dies eine wiederholte Einreichung. Hier ist der Beispielcode:
Vergleichen Sie bei der Überprüfung der Einreichung auf der Serverseite, ob die eingereichte Kennung mit der gespeicherten Kennung übereinstimmt:
Nach dem Senden des Formulars kann der Server den Benutzer auf eine andere Seite umleiten (z. B. die erfolgreiche Seite senden). Auf diese Weise wird der Server auch wenn der Benutzer die Seite aktualisiert oder auf die Ausschreibungsseite zurückkehrt, und verhindern so ein neues Commit, wodurch doppelte Commits verhindert werden. Der Beispielcode lautet wie folgt:
Es ist zu beachten, dass bei der Umleitung der Seite entsprechende Eingabeaufforderungsinformationen bereitgestellt werden sollten, um den Benutzer darüber zu informieren, dass das Formular erfolgreich eingereicht wurde.
Zusätzlich zur Front-End-Lösung können wir die serverseitige Technologie verwenden, um wiederholte Einreichungen von Formularen zu verhindern. Beispielsweise kann eine Datenbank verwendet werden, um Datensätze für jedes Commit zu speichern und die Einzigartigkeit des Commits zu überprüfen.
Das wiederholte Verhindern von Benutzern ist ein wichtiges Problem in der Webentwicklung. Dieses Problem kann effektiv gelöst werden, indem die Schaltfläche Senden, eindeutige Bezeichner, die Umleitung von Seiten und die serverseitige Überprüfung generiert werden. Wählen Sie die entsprechende Lösung entsprechend den Bedürfnissen und optimieren Sie die Benutzererfahrung.