2011-07-22 14 views
0

Webページのリフレッシュによってデータを再ポストすることができる問題を回避するために、Post-Redirect-Getパターンを実装しました。ポストリダイレクト - 取得、戻るボタンを使用できません

リダイレクトは、Locationヘッダーと「302 Object moved」を使用してサーバー側で実行されています。

私は戻るボタンを押して元のページ(ここからフォームに到達した)に移動したときに、投稿ページに着陸すると直ちにリダイレクトされ、歴史に残ってください。

方法はありますか? javascript:window.location.href = window.location.href

フォームの再訪、新しいデータの入力と再投稿は問題ありません。しかし、私は実際のポストイベント自体が歴史から完全になくなることを望んでいます。ブラウザは永久的なリダイレクトを返すURLを履歴スタックに入れてしまうのはなぜですか?

更新

どうやら私は何かについて間違っています。私はちょうど、ポストリダイレクト取得のプレーンなバニラケースをテストし、バックボタンは期待どおりに動作します。あなたの時間を無駄にしてしまって申し訳ありません...

+0

PRGをサーバーサイド言語ではなくクライアント側言語で実装したような感じです。これは本当ですか?どのようにPRGを実装しましたか? – BalusC

+0

@Balusどうやら私は何かについて間違っている。私はちょうど、ポストリダイレクト取得のプレーンなバニラケースをテストし、バックボタンは期待どおりに動作します。あなたの時間を無駄にしてしまって申し訳ありません...この質問を削除するか、少なくとも他の人にとってより有用に改革すべきだと思います。 – ErikE

+0

おそらく、テストの前にブラウザのキャッシュを消去しておらず、古いページがブラウザのキャッシュに残っていると思われます。 – BalusC

答えて

0

リダイレクトを行う推奨方法は、Location:ヘッダーのHTTP 302 Found応答です。

JavaScriptで実行しようとしている場合、location.replace(url)は、閲覧履歴の現在のURLを置き換えながら新しいURLにナビゲートします。

+0

どうやら私は何かについて間違っているようです。私はちょうど、ポストリダイレクト取得のプレーンなバニラケースをテストし、バックボタンは期待どおりに動作します。あなたの時間を無駄にして申し訳ありません... – ErikE