If my URL is http://www.something.com/foo/bar/index.html?color=yellow&animal=rat, it seems as though:

  • $location.path() will return foo/bar/index.html
  • $location.absUrl() will return http://www.something.com/foo/bar/index.html?color=yellow&animal=rat
  • $location.url() will return foo/bar/index.html?color=yellow&animal=rat

Is there any function which will return http://www.something.com/foo/bar/index.html?

Or do I have to construct that myself with functions like protcol, host, port, etc. (or strip the query params off myself)?

有帮助吗?

解决方案

As far as I'm aware you have to construct it yourself. Not that you were asking how to construct it, but for those who are wondering:

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

其他提示

Not that this eliminates the need to construct it by yourself, just another way to do the same. If you use window.location object, you can just say window.location.origin+window.location.pathname

window.location object has

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:"
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top