72

次を使用してページをリロードしたい:

window.location.reload(true); 

しかし、更新機能が以前のPOSTフォームデータを再送信したいので、POSTDATA警告を受け取ります。この警告なしにページを更新するにはどうすればよいですか?

更新:私はプロジェクトを管理できません!POST自体を回避することはできません!

4

17 に答える 17

139

警告なしに更新することはできません。refreshは、最後のアクションを繰り返すようにブラウザーに指示します。最後のアクションを繰り返すことがデータの再送信を伴う場合にユーザーに警告するかどうかを選択するのはブラウザー次第です。

次の手順を実行すると、新しいセッションで同じページに再度移動できます。

window.location = window.location.href;
于 2009-02-20T15:38:31.347 に答える
23

Rexのソリューションを使用して、アンカー/ハッシュURL(#を含む)がリロードされないという問題がありました...

だから私は最終的にハッシュ部分を削除することになりました:

window.location = window.location.href.split("#")[0];
于 2014-10-22T10:46:56.333 に答える
13

POST 警告をバイパスするには、完全な URL でページをリロードする必要があります。正常に動作します。

window.location.href = window.location.protocol +'//'+ window.location.host + window.location.pathname;
于 2013-02-19T08:59:40.593 に答える
6

JavaScript を使用できます。

window.location.assign(document.URL);

FirefoxとChromeで私のために働いた

このリンクを確認してください: http://www.codeproject.com/Tips/433399/PRG-Pattern-Post-Redirect-Get

于 2014-05-28T14:41:06.603 に答える
5

window.location.replace(window.location.href); はどうですか?

于 2010-11-19T20:36:31.460 に答える
2

投稿データを使い終えた段階で、ページをもう一度表示したい場合は、window.locationを使用し、クエリパラメーターとしてランダムな文字列を追加して新しいバージョンを保証することもできます。ページ。

于 2009-02-20T15:39:41.607 に答える
1
<html:form name="Form" type="abc" action="abc.do" method="get" onsubmit="return false;">

method="get"- 問題を解決します。

if method="post"その後、警告のみが表示されます。

于 2014-02-11T04:28:16.723 に答える
0

投稿を送信せずにページをリロードする関数を作成しました。これはハッシュでも機能します。

reloadこれを行うには、現在のタイムスタンプ (ミリ秒) で値を更新することによって呼び出される URL に GET パラメーターを追加/変更します。

var reload = function () {
    var regex = new RegExp("([?;&])reload[^&;]*[;&]?");
    var query = window.location.href.split('#')[0].replace(regex, "$1").replace(/&$/, '');
    window.location.href =
        (window.location.href.indexOf('?') < 0 ? "?" : query + (query.slice(-1) != "?" ? "&" : ""))
        + "reload=" + new Date().getTime() + window.location.hash;
};

この関数を href 属性でトリガーする場合は、次のように実装してください:href="javascript:reload();void 0;"正常に機能させるために。

私のソリューションの欠点は、URL が変更されることです。そのため、この「リロード」は実際のリロードではなく、別のクエリによるロードです。それでも、私のようにあなたのニーズに合うかもしれません.

于 2016-11-08T14:06:18.260 に答える
-2

GET代わりにメソッドを使用するとPOST、フォームにファイルされた値を作成できません。を使用するwindow.opener.location.href = window.opener.location.href;と、dbを起動して値を取得できますがJSP、フォーム値を持つスクリプトレットがあっても、が更新されないだけです。

于 2009-07-03T09:16:24.263 に答える