ホームページ >ウェブフロントエンド >jsチュートリアル >よくあるフォームの重複送信の問題と解決策_JavaScript スキル
/**
*
* @著者ベンジャミン
* @日付 2013-11-13 10:16:59
*/
1. よくある重複送信の問題
a> 送信ボタンを 2 回クリックします。
b>更新ボタンをクリックします。
c>ブラウザの戻るボタンを使用して前の操作を繰り返すと、フォームが繰り返し送信されます。
d> ブラウザの履歴を使用してフォームの送信を繰り返します。
e> ブラウザからの HTTP リクエストが重複します。
2. フォームの繰り返し送信を防ぐ方法
a> 送信ボタンを無効にします。フォームが送信された後、現在のボタンを無効にするか、ボタンのクリック イベントまたはデフォルト イベントをキャンセルします。このアプローチにより、せっかちなユーザーがボタンを複数回クリックすることがなくなります。ただし、クライアントで Javascript が無効になっている場合、この方法が効果的になることはほとんどありません。
b>投稿/リダイレクト/取得モード。送信後にページ リダイレクトを実行することは、いわゆる Post-Redirect-Get (PRG) パターンです。つまり、ユーザーがフォームを送信すると、クライアント側のリダイレクトが実行され、送信成功情報ページに移動します。これにより、ユーザーが F5 キーを押すことによって発生する繰り返し送信を回避でき、ブラウザ フォームの繰り返し送信についての警告も表示されなくなり、ブラウザの進むボタンと戻るボタンを押すことによって引き起こされる同じ問題も回避できます。
c> Cookie を使用してフォームの繰り返し送信を処理します
PHP での実装: