21

URL からクエリ文字列値を読み取って処理した後、たとえば

http://myurl.com/#/?foo=baa

URLを次のように変更できます

http://myurl.com/#/?foo=

を使用して

$location.search('myQueryStringParameter', '');

クエリ文字列を完全に (明示的なリダイレクトやサーバー側のアクションなどなしに) 削除するにはどうすればよいですか?

http://myurl.com/#/

ブラウザに残りますか?かなり単純なはずですが、参照が見つかりません。

4

4 に答える 4

45

あなたは近かったので、null を設定する必要がありました

$location.search('myQueryStringParameter', null); 

ng.$location ドキュメントから

検索が文字列の場合、paramValue は 1 つの検索パラメーターのみをオーバーライドします。paramValue が配列の場合、パラメーターはコンマ区切り値として設定されます。paramValue が null の場合、パラメーターは削除されます。

于 2013-11-10T08:38:35.537 に答える
26

これを試して:

$location.url($location.path())

詳細については、ドキュメントを参照してください。

于 2013-09-16T16:50:37.563 に答える
9

最も簡単な解決策は、 $location.url で internaly と同じことを行うことです

$location.search('')
于 2015-05-21T07:55:12.613 に答える
-2

これを試して

$location.url('/');

詳細については、ドキュメントを参照してください。

于 2014-08-06T11:12:58.553 に答える