2009-08-04 6 views
12

私は一見単純な質問がありますが、答えを見つけることができません。 POSTリクエストの結果としてURLにアンカー(#)が付いているWebページがあります。このページをGETリクエストとしてにリロードします。したがって、this questionと似ていますが、私は実際には警告だけでなく、POSTを避けたいと考えています。GETリクエストとしてページをリロードするJavaScript

ので、例えば、ページがGETとして「http://server/do/some?thing#は」私はURLをリロードしたいPOSTリクエスト「http://server/do/some?thing」に起因する場合。私はIEがPOSTをしようとする原因となる

window.location.reload(true); 

をしよう。代わりに:

window.location = window.location.href; 

URLにアンカーがある場合、これは何も行いません。私は実際に "#何か"を取り除くために自分自身で文字列操作を行う必要がありますか、これを行うためのより簡単で良い方法ですか?

+3

を試すことができますクライアント側のページリフレッシュを行わないことです。 – Triptych

+0

確かに、あなたは何かばかげたことをすることを躊躇しないことを知っているように、問題に関する少しの文脈を提供できますか? – Breton

+0

[JavaScriptを使ってページをリフレッシュし、変数をGETする]の可能な複製(http://stackoverflow.com/questions/17253754/refresh-the-page-with-javascript-and-get-variables) – Stephen

答えて

11

私がこれまでに作ってみた最高のは、次のとおりです。

function reloadAsGet() 
{ 
    var loc = window.location; 
    window.location = loc.protocol + '//' + loc.host + loc.pathname + loc.search; 
} 
5

次のことを試してみてください。

location.replace(location.href) 
+0

これは私のためには機能しませんでしたChromeバージョン47.0.2526.111(64ビット) – Jon

0

あなたはおそらく "適切な" 方法この

location=location.href 
+0

このコードは質問に答えることができますが、問題の解決方法や理由を追加で説明すると、回答の長期的価値が向上します。 – Badacadabra

関連する問題