javascript:location.reload(true) をフォームの action= として使用することは可能ですか?ブラウザに「このページをリロードするには、情報を再送信する必要があります」またはそれに類似したものを言わせますか? フォーム アクションは現在、代わりに onsubmit= によって処理されています。
3 に答える
フォームを送信せずにページをリロードしたいだけの場合は、window.location=window.location;
ユーザーがデータの POST から来た場合、リロードは常に再送信される情報について質問します。あなたが何をしようとしているのかわからないので、具体的な答えは難しいです。これはブラウザの履歴にあり、防ぐことはできません。
より良い解決策は、PRG パターンを使用することです。
イベントでAJAXリクエストを使用してフォームを処理しているonsubmit
ようです。とにかくページを更新する必要がある場合、何も得られないので、なぜかという疑問が生じます。フォームからの通常の投稿を使用するか、@ Bobのソリューションを使用することをお勧めします(彼は最初に投稿することで入力する必要がありませんでした)。を使用する場合は、メソッドで発生した処理が完了window.location=window.location
した後で必ず呼び出すかonsubmit
、onsubmitメソッドがデータの送信を完了する前にリダイレクトする競合状態を導入する可能性があります。
編集:
詳細情報を提供したコメントを読んでください。繰り返しますが、AJAX送信に応答してページ全体をリロードすると、AJAXを使用する目的が完全に無効になります。これを支援するために、jQueryのようなJavascriptライブラリの使用を検討する必要があります。基本的に、パターンは次のようになります。
- AJAXで送信を処理する
- リクエストが完了したら、AJAXを使用してページの変更された部分のみをリクエストします
- ページのコンテンツを2番目のAJAX呼び出しへの応答に置き換えるか追加します
- フォームを空にして、もう一度入力できるようにします