2016-07-07 9 views
3

更新データには3つの形式があります.1つ目はユーザープロファイル、2番目はパスワードリセット、3番目は電子メールの変更です。私はコントローラにフォームを送信し、同じページにリダイレクトしました。プロジェクトチームのリーダーは、これらのリダイレクトを削除するように頼んで、フォームを送信した後にページをリフレッシュせず、リダイレクトはサーバーのみをロードすると言いました... POSTリクエストを送信した後に間違っている可能性があります。すべてのフォームをAJAX経由で作成することについての私の提案は拒否されました。私が間違っていない場合、どのようにリダイレクトする必要があることを実力で証明することができますか?投稿リクエストを送信した後にリダイレクトする必要があるのはなぜですか?

+0

ありがとうございました!あなたは私を助けた! –

答えて

1

あなたが探しているポイントはポストリダイレクト - 取得パターンです。
ここに元の記事を読むことができます:http://www.theserverside.com/news/1365146/Redirect-After-Post

すべての動機を明らかにします。要するに、パターンはダブル・サブミットを防ぎます(ページが遅いために忍耐が緩んでいるため)。ブラウザはデータを再送信する危険なく、(最後の)ページを安全にリフレッシュできます。データの再提出を警告します)。

1

リダイレクトフォームが必要とされている提出した後、あなたはこれを実行しなければならない今、私が想定しています

  1. あなたは、コントローラからビューを返します
  2. DB
  3. のフォーム
  4. 保存の詳細を提出します。

フォームが、彼は次のようになります提出し、あなたがにページを更新する試行ページをリダイレクトせず、ビューのユーザーにユーザーに平面図を返却した場合、上記の場合には問題があるでしょう警告メッセージ。

あなたが探しているページには、入力した情報が使用されています。 そのページに戻ると、繰り返し実行されたアクションが発生する可能性があります。 続行しますか?

これは、ブラウザが以前のリクエストで処理されたデータを再度送信することを意味します。これは、サーバー側で処理されるデータに多少の曖昧さがある可能性があるためです。

これは、フォームを送信して処理した直後にページをリダイレクトする理由があります。

0

リダイレクトは、すべての投稿データを消去するためのものです。リダイレクトしないことを選択した場合、ユーザーは、戻るボタンまたは進むボタンを使用すると、いくつかの不都合を経験することがあります。彼は投稿データを再度送信するよう求められます。

関連する問題