web-dev-qa-db-ja.com

クエリパラメータなしで現在のURLを取得する組み込みの方法はありますか?

URLが_http://www.something.com/foo/bar/index.html?color=yellow&animal=rat_の場合、次のように見えます:

  • $location.path()は_foo/bar/index.html_を返します
  • $location.absUrl()は_http://www.something.com/foo/bar/index.html?color=yellow&animal=rat_を返します
  • $location.url()は_foo/bar/index.html?color=yellow&animal=rat_を返します

_http://www.something.com/foo/bar/index.html_を返す関数はありますか?

または、protcol、Host、portなどの関数を使用して自分で構築する必要がありますか(またはクエリパラメータを自分から削除します)?

26
Jer

私が知る限り、あなたは自分でそれを構築しなければなりません。あなたはそれを構築する方法を尋ねていたのではなく、疑問に思っている人のために:

var url = $location.absUrl().split('?')[0]
38
Jamy

これにより、自分で作成する必要がなくなるわけではなく、同じことを行う別の方法です。 window.locationオブジェクトを使用する場合、window.location.Origin + window.location.pathnameとだけ言うことができます

window.locationオブジェクトには

Host:"localhost.abc.com:8080"
hostname:"localhost.abc.com"
href:"http://localhost.abc.com:8080/quickpick/repossessions/?displayStr=Repossessions&from=%2F&page=1"(whole url)

Origin:"http://localhost.abc.com:8080"
pathname:"/quickpick/repossessions/"
port:"8080"
protocol:"http:"
8
chandu