次を使用してページをリロードしたい:
window.location.reload(true);
しかし、更新機能が以前のPOSTフォームデータを再送信したいので、POSTDATA警告を受け取ります。この警告なしにページを更新するにはどうすればよいですか?
更新:私はプロジェクトを管理できません!POST自体を回避することはできません!
次を使用してページをリロードしたい:
window.location.reload(true);
しかし、更新機能が以前のPOSTフォームデータを再送信したいので、POSTDATA警告を受け取ります。この警告なしにページを更新するにはどうすればよいですか?
更新:私はプロジェクトを管理できません!POST自体を回避することはできません!
警告なしに更新することはできません。refreshは、最後のアクションを繰り返すようにブラウザーに指示します。最後のアクションを繰り返すことがデータの再送信を伴う場合にユーザーに警告するかどうかを選択するのはブラウザー次第です。
次の手順を実行すると、新しいセッションで同じページに再度移動できます。
window.location = window.location.href;
Rexのソリューションを使用して、アンカー/ハッシュURL(#を含む)がリロードされないという問題がありました...
だから私は最終的にハッシュ部分を削除することになりました:
window.location = window.location.href.split("#")[0];
POST 警告をバイパスするには、完全な URL でページをリロードする必要があります。正常に動作します。
window.location.href = window.location.protocol +'//'+ window.location.host + window.location.pathname;
JavaScript を使用できます。
window.location.assign(document.URL);
FirefoxとChromeで私のために働いた
このリンクを確認してください: http://www.codeproject.com/Tips/433399/PRG-Pattern-Post-Redirect-Get
window.location.replace(window.location.href); はどうですか?
投稿データを使い終えた段階で、ページをもう一度表示したい場合は、window.locationを使用し、クエリパラメーターとしてランダムな文字列を追加して新しいバージョンを保証することもできます。ページ。
<html:form name="Form" type="abc" action="abc.do" method="get" onsubmit="return false;">
method="get"
- 問題を解決します。
if method="post"
その後、警告のみが表示されます。
投稿を送信せずにページをリロードする関数を作成しました。これはハッシュでも機能します。
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 が変更されることです。そのため、この「リロード」は実際のリロードではなく、別のクエリによるロードです。それでも、私のようにあなたのニーズに合うかもしれません.
GET
代わりにメソッドを使用するとPOST
、フォームにファイルされた値を作成できません。を使用するwindow.opener.location.href = window.opener.location.href;
と、dbを起動して値を取得できますがJSP
、フォーム値を持つスクリプトレットがあっても、が更新されないだけです。