8

POST データを再送信せずにページを更新して再読み込みする方法は?

location.reload()Chrome(開発中のテスト環境)でまったく問題なく動作することを試しました。しかし、IE と Firefox は JS で無限ループに入り、大量のジャンク/重複データを再投稿しました。

注: ただし、ページを更新してフォームの内容をすべてクリアしたいだけです。データが正常に追加されたという警告メッセージを表示する、送信後の起動スクリプトも登録しています。

ヘルプ!

4

9 に答える 9

14

これを試して:

window.location.href = window.location.href;
于 2012-12-21T07:56:00.520 に答える
6
location.href = location.href + '?' + Math.random();

これはうまくいくはずです。

于 2012-12-21T07:55:20.380 に答える
5

コードに次を追加します。

Response.Redirect(Request.RawUrl)
于 2012-12-21T07:57:03.073 に答える
2

フォームをクリアしたいだけの場合は、次のようにしてください。

<input type="reset" value="Clear Fields">

次を使用して行うこともできます。

document.getElementById('<%=form1.ClientID%>').reset();

他に何かする必要がない限り、ページをリロードするのはもったいないようです。

于 2012-12-21T07:57:07.723 に答える
2

以下を追加します。

Server.Transfer(Request.RawUrl);

于 2013-05-04T19:22:15.570 に答える
0

私もリロードを試みましたが、reload(true) は両方とも、私が望んでいたことを正確に行っていません。

「get」でページをリクエストしたかったので、Location オブジェクトには(リロード以外の)他のメソッドがあることがわかりました。

location.assign(window.location); 

これまでのところ、私がやりたいことをしているようです。値を再度送信せずに同じページをリロードしてください。私の使用例は、セッションの有効期限が切れたときのサーバーへの ajax 呼び出しです。セッションが失われたというエラー メッセージが表示された後、ページをリロードします。

于 2015-02-10T20:37:09.350 に答える