Я хочу получить базовый путь моего приложения Angular.
Сейчас я делаю это: $scope.baseUrl = '$location.host()
Но я получаю только это: /localhost
. Моя текущая baseURL http://localhost:9000/
.
Я хочу получить базовый путь моего приложения Angular.
Сейчас я делаю это: $scope.baseUrl = '$location.host()
Но я получаю только это: /localhost
. Моя текущая baseURL http://localhost:9000/
.
Попробуйте следующее: $location.$$absUrl
console.log('$location',$location.$$absUrl);
btw /localhost
- ваш базовый путь, но я предполагаю, что вы имели в виду весь URL.
Чтобы получить только baseurl и ничего больше не используйте
$browser.baseHref()
он вернет что-то вроде
/центральный/
Альтернативный ответ заключается в использовании службы $window
в сочетании с $location.absUrl()
, чтобы создать новый объект URL, а затем захватить источник через свойство origin. Это даст вам именно то, что вы ищете (минус конечный '/').
$scope.baseUrl = new $window.URL($location.absUrl()).origin;
предоставит вам http://localhost:9000 в вашем случае.
попробуйте ввести $location
, на нем есть метод absUrl()
, который вернет весь текущий URL
Если вы хотите получить базовый 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;
Решение для кросс-браузера, которое работало для меня, было:
$location.$$absUrl.replace($location.$$url, '')
$$absUrl
- это весь URL (например, https://google.com/search/spiders)
$$url
является частью после хоста (например,/search/spiders)
Измените вкус.
Вместо использования $scope.baseUrl = '$location.host()
Используйте этот: -
$scope.baseUrl = $location.absUrl();