我想获得Angular应用程序的基本路径。
现在我正在这样做:$scope.baseUrl = '$location.host()
但我只能得到这个:/localhost
。我目前的baseURL是http://localhost:9000/
。
答案 0 :(得分:15)
试试这个:$location.$$absUrl
console.log('$location',$location.$$absUrl);
btw /localhost
是你的基本路径,但我想你的意思是整个网址。
答案 1 :(得分:14)
另一个答案是将$window
服务与$location.absUrl()
结合使用来创建新的URL对象,然后通过origin属性获取原点。这将为您提供您正在寻找的内容(减去尾随'/')。
$scope.baseUrl = new $window.URL($location.absUrl()).origin;
会在您的情况下返回http://localhost:9000。
答案 2 :(得分:9)
只获得baseurl而没有别的用途
$browser.baseHref()
它将返回类似
的内容/中央/
答案 3 :(得分:4)
对我有用的跨浏览器解决方案是:
$location.$$absUrl.replace($location.$$url, '')
$$absUrl
是整个网址(例如Here)
$$url
是主持人之后的部分(例如/ search / spiders)
修改品味。
答案 4 :(得分:3)
尝试注入$location
它上面有一个absUrl()
方法,它将返回整个当前网址
答案 5 :(得分:2)
如果您只想获取网站的基本网址,而不是网页的当前网址,例如从myObject
您想获得https://www.google.com/somewhere/in-the-middle-of-nowhere
,然后只需执行:
https://www.google.com
答案 6 :(得分:0)
而不是使用$scope.baseUrl = '$location.host()
使用这个: -
$scope.baseUrl = $location.absUrl();
答案 7 :(得分:0)
我参加聚会迟到了,但我认为 location.pathname
会更好。