web-dev-qa-db-fra.com

Existe-t-il un moyen intégré d'obtenir l'URL actuelle sans aucun paramètre de requête?

Si mon URL est http://www.something.com/foo/bar/index.html?color=yellow&animal=rat, Il semble que:

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

Y a-t-il une fonction qui retournera http://www.something.com/foo/bar/index.html?

Ou dois-je le construire moi-même avec des fonctions comme protcol, Host, port, etc. (ou supprimer moi-même les paramètres de requête)?

26
Jer

Pour autant que je sache, vous devez le construire vous-même. Non pas que vous demandiez comment le construire, mais pour ceux qui se demandent:

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

Non pas que cela élimine le besoin de le construire par vous-même, juste une autre façon de faire de même. Si vous utilisez un objet window.location, vous pouvez simplement dire window.location.Origin + window.location.pathname

l'objet window.location a

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