検索

ホームページ  >  に質問  >  本文

JavaScript - 登録時に、同じユーザーが複数回登録し、データベースに同じデータが複数表示されます。バックグラウンドは検証されており、フロントエンド JS も 2 秒に 1 回の送信を制限していますが、複数のデータは依然として存在します。現れる。

登録時に、同じユーザーが複数回登録し、データベースに同じデータが複数表示されます。バックグラウンドは検証されており、フロントエンドの JS も 2 秒に 1 回の送信を制限していますが、複数のデータがまだ表示されます

世界只因有你世界只因有你2746日前983

全員に返信(8)返信します

  • 習慣沉默

    習慣沉默2017-06-30 09:54:16

    フロントエンドは、ページに入るときに登録ボタンをクリックできるように設定できます。クリックして登録リクエストを送信すると、リクエストが返されて登録が失敗したときに、ボタンがクリックできないように設定されます。クリックできるように設定します。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-30 09:54:16

    データベース内の制限として一意のインデックスを使用する

    返事
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-30 09:54:16

    送信を 2 秒に制限するために debouce还是throttle を使用しているかどうかはわかりません

    より良い方法は、[登録] をクリックしてボタンを無効にし、リクエストが返されるのを待ってから、エラーを報告するコールバックで忘れずに [登録] ボタンを有効にすることです。

    バックエンドデータベースフィールドにも一意にインデックスを付ける必要があります

    返事
    0
  • 天蓬老师

    天蓬老师2017-06-30 09:54:16

    サーバー側の検証には一意性の判断が必要です。フロントエンドボタンをクリックした後にクリックを無効にするか、サーバーが戻ってクリックのブロックを解除するのを待つか、タイムアウトを通じて実装します

    返事
    0
  • 学习ing

    学习ing2017-06-30 09:54:16

    登録には独自の認証が必要です

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-30 09:54:16

    データベースとユーザー名の主キーの一意の検証

    返事
    0
  • 三叔

    三叔2017-06-30 09:54:16

    フロントエンドのボタンを無効にする解決策も必要ですが、これは一般のユーザーが複数回クリックすることを防ぐだけであり、ブラウザ以外の「ユーザー」を防ぐことはできません
    サーバーがどれだけ繰り返しリクエストを受け入れても、それはサーバーによって処理される必要がありますバックエンド
    目的同じユーザーは一度だけ登録できます、他の回答を参照、主キー

    返事
    0
  • 世界只因有你

    世界只因有你2017-06-30 09:54:16

    私の記事「Web プロジェクトでクライアントが繰り返しリクエストを送信しないようにする方法」を参照してください

    返事
    0
  • キャンセル返事