Я хочу получить базовый путь моего Углового приложения.Получить базовый url в AngularJS
Прямо сейчас я делаю это: $scope.baseUrl = '$location.host()
Но я только получаю это: /localhost
. Мой текущий baseURL - http://localhost:9000/
.
Я хочу получить базовый путь моего Углового приложения.Получить базовый url в AngularJS
Прямо сейчас я делаю это: $scope.baseUrl = '$location.host()
Но я только получаю это: /localhost
. Мой текущий baseURL - http://localhost:9000/
.
Попробуйте это: $location.$$absUrl
console.log('$location',$location.$$absUrl);
кстати /localhost
ваш базовый путь, но я предполагаю, что вы имели в виду весь URL.
попробовать инъекционные $location
он имеет absUrl()
метод на нем, который будет возвращать весь текущий URL
Чтобы получить только BaseUrl и ничего использовать
$browser.baseHref()
он будет возвращать что-то вроде
/центральный/
upvoted, но это private API, и я предпочитаю результат как http: // someeb/somepath/ –
Это должен быть принятый ответ, '$ location' не обеспечивает то, что хотел OP. – AsGoodAsItGets
Вместо использования $scope.baseUrl = '$location.host()
Используйте это одно: -
$scope.baseUrl = $location.absUrl();
Если вы хотите получить базовый 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;
Альтернативный ответ использует $window
сервис в сочетании с $location.absUrl()
, чтобы создать новый объект URL, а затем захватить происхождение через свойство происхождения. Это даст вам именно то, что вы ищете (минус конечный «/»).
$scope.baseUrl = new $window.URL($location.absUrl()).origin;
вернет вам http://localhost:9000 в вашем случае.
Поперечное решение браузер, который работал для меня:
$location.$$absUrl.replace($location.$$url, '')
$$absUrl
является весь URL (например https://google.com/search/spiders)
$$url
является частью после хоста (например/поиск/пауков)
Изменить по вкусу.
Вам также нужно '$ location.port()' – Jasen
'absUrl()' вероятно? Проверьте: https://docs.angularjs.org/api/ng/service/$location –
'$ scope.baseUrl = $ location.protocol() +": // "+ location.host;' –