2016-01-30 2 views
11

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

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

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

+0

Вам также нужно '$ location.port()' – Jasen

+0

'absUrl()' вероятно? Проверьте: https://docs.angularjs.org/api/ng/service/$location –

+4

'$ scope.baseUrl = $ location.protocol() +": // "+ location.host;' –

ответ

11

Попробуйте это: $location.$$absUrl

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

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

9

Чтобы получить только BaseUrl и ничего использовать

$browser.baseHref() 

он будет возвращать что-то вроде

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

+0

upvoted, но это private API, и я предпочитаю результат как http: // someeb/somepath/ –

+1

Это должен быть принятый ответ, '$ location' не обеспечивает то, что хотел OP. – AsGoodAsItGets

0

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

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

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

Если вы хотите получить базовый 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; 
8

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

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

2

Поперечное решение браузер, который работал для меня:

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

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

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

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

Смежные вопросы