Получить базовый url в AngularJS

Я хочу получить базовый путь моего приложения Angular.

Сейчас я делаю это: $scope.baseUrl = '$location.host()

Но я получаю только это: /localhost. Моя текущая baseURL http://localhost:9000/.

Ответ 1

Попробуйте следующее: $location.$$absUrl

console.log('$location',$location.$$absUrl);

btw /localhost - ваш базовый путь, но я предполагаю, что вы имели в виду весь URL.

Ответ 2

Чтобы получить только baseurl и ничего больше не используйте

$browser.baseHref()

он вернет что-то вроде

/центральный/

Ответ 3

Альтернативный ответ заключается в использовании службы $window в сочетании с $location.absUrl(), чтобы создать новый объект URL, а затем захватить источник через свойство origin. Это даст вам именно то, что вы ищете (минус конечный '/').

$scope.baseUrl = new $window.URL($location.absUrl()).origin; предоставит вам http://localhost:9000 в вашем случае.

Ответ 5

Если вы хотите получить базовый URL-адрес сайта, а не текущий URL-адрес страницы, например. от https://www.google.com/somewhere/in-the-middle-of-nowhere вы хотите получить https://www.google.com, а затем просто выполните:

// For www.google.com
$scope.baseUrl = $locaton.$$host;
// For https://www.google.com
$scope.baseUrl = $location.$$protocol + '://' + $location.$$host;

Ответ 6

Решение для кросс-браузера, которое работало для меня, было:

$location.$$absUrl.replace($location.$$url, '')

$$absUrl - это весь URL (например, https://google.com/search/spiders)

$$url является частью после хоста (например,/search/spiders)

Измените вкус.

Ответ 7

Вместо использования $scope.baseUrl = '$location.host()

Используйте этот: -

   $scope.baseUrl = $location.absUrl();