获取AngularJS中的基本URL

时间:2016-01-30 01:57:29

标签: javascript angularjs

我想获得Angular应用程序的基本路径。

现在我正在这样做:$scope.baseUrl = '$location.host()

但我只能得到这个:/localhost。我目前的baseURL是http://localhost:9000/

8 个答案:

答案 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()方法,它将返回整个当前网址

https://docs.angularjs.org/api/ng/service/$location

答案 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 会更好。