Das doppelte Absenden von Formularen ist das häufigste und problematischste Problem bei Mehrbenutzer-Webanwendungen. Es gibt viele Anwendungsszenarien, bei denen es zu Problemen mit doppelten Übermittlungen kommen kann, beispielsweise: Klicken Sie zweimal auf die Schaltfläche „Senden“. Klicken Sie auf die Schaltfläche Aktualisieren. Die Verwendung der Zurück-Schaltfläche des Browsers zum Wiederholen vorheriger Aktionen führt zu doppelten Formularübermittlungen. Nutzen Sie Ihren Browserverlauf, um das Formular wiederholt abzusenden. Der Browser wiederholt die HTTP-Anfrage. Mehrere Möglichkeiten, doppelte Formulareinreichungen zu verhindern 1. Deaktivieren Sie die Schaltfläche „Senden“ . Verwenden Sie Javascript, um die Schaltfläche „Senden“ nach dem Absenden des Formulars zu deaktivieren. Dieser Ansatz verhindert, dass ungeduldige Benutzer mehrmals auf die Schaltfläche klicken. Es gibt jedoch ein Problem. Wenn der Client Javascript deaktiviert, ist diese Methode ungültig. Ich habe in meinem vorherigen Artikel erwähnt, dass die Verwendung einiger JQuery-Plug-Ins gute Effekte haben kann. 2.Post-/Umleitungs-/Get-Modus . Das Durchführen einer Seitenumleitung nach der Übermittlung wird als Post-Redirect-Get (PRG)-Muster bezeichnet. Kurz gesagt: Wenn der Benutzer das Formular absendet, führen Sie eine clientseitige Weiterleitung auf die Informationsseite zur erfolgreichen Übermittlung durch. Dadurch kann das wiederholte Senden vermieden werden, das durch das Drücken von F5 durch den Benutzer verursacht wird, und es wird keine Warnung über das wiederholte Senden des Browserformulars ausgegeben. Dadurch kann auch das gleiche Problem behoben werden, das durch das Drücken der Vorwärts- und Zurück-Tasten des Browsers verursacht wird. 3. Speichern Sie ein spezielles Flag in der Sitzung . Beim Aufruf der Formularseite wird eine spezielle Zeichenfolge generiert, in der Sitzung gespeichert und in einem ausgeblendeten Feld des Formulars abgelegt. Überprüfen Sie beim Akzeptieren und Verarbeiten von Formulardaten, ob die Identifikationszeichenfolge vorhanden ist, löschen Sie sie sofort aus der Sitzung und verarbeiten Sie die Daten dann normal. Wenn festgestellt wird, dass in der Formularübermittlung keine gültige Flag-Zeichenfolge vorhanden ist, bedeutet dies, dass das Formular übermittelt wurde und die Übermittlung ignoriert wird. Dadurch erhält Ihre Webanwendung einen erweiterten XSRF-Schutz. 4. Fügen Sie der Datenbank Einschränkungen hinzu. Fügen Sie eine eindeutige Einschränkung hinzu oder erstellen Sie einen eindeutigen Index in der Datenbank, um doppelte Daten zu vermeiden. Nur so können Sie eine doppelte Datenübermittlung verhindern. Das Obige ist eine Einführung in diese vier Methoden. Wenn Sie bessere Lösungen haben, lassen Sie es mich bitte wissen. Dieser Artikel wird weiterhin aktualisiert. |
<<: Lassen Sie IE6, IE7, IE8 CSS3-abgerundete Ecken und Schattenstile unterstützen
Als Verwaltungszentrale und Server dient dabei un...
Inhaltsverzeichnis 1. Detaillierte Erklärung der ...
Beim Erstellen einer Webseite müssen wir normaler...
Da Frameset und Body auf derselben Ebene liegen, k...
In diesem Artikelbeispiel wird der spezifische Co...
Der Dienst des Unternehmens verwendet Docker und ...
Inhaltsverzeichnis Zeichenfolgenlänge: Länge char...
Hintergrund Alles begann, als ein Klassenkamerad ...
MySQL verfügt über nicht standardmäßige Datentype...
Nachdem die Tabellenbreite auf der Seite auf width...
Nach drei Tagen voller Schwierigkeiten habe ich d...
In Bezug auf die Verbindungsmethode zwischen Java...
Klassifizierung von CSS-Stilen 1. Interner Stil -...
Vorwort Nachdem ich den vorherigen Artikel über d...
Dieser Artikel zeichnet das Installationstutorial...