2016-01-30 12 views
11

Desidero ottenere il percorso di base della mia app Angolare.Ottieni l'URL di base in AngularJS

In questo momento mi sto facendo questo: $scope.baseUrl = '$location.host()

ma ho solo ottenere questo: /localhost. Il mio attuale baseURL è http://localhost:9000/.

+0

È inoltre necessario '$ location.port()' – Jasen

+0

'absUrl()' probabilmente? Controllare: https://docs.angularjs.org/api/ng/service/$location –

+4

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

risposta

11

Prova questo: $location.$$absUrl

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

btw /localhost è il tuo percorso di base, ma immagino tu intenda l'intero URL.

9

di ottenere solo il baseurl e nient'altro utilizzano

$browser.baseHref() 

tornerà qualcosa come

/centrale/

+0

ha superato, ma questo è API privata e preferisco il risultato come http: // someweb/somepath/ –

+1

Questa dovrebbe essere la risposta accettata, '$ location' non fornisce ciò che l'OP voleva. – AsGoodAsItGets

0

Invece di usare $scope.baseUrl = '$location.host()

Utilizzare questo: -

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

Se si desidera ottenere solo l'URL di base del sito e non l'URL corrente della pagina, ad es. da https://www.google.com/somewhere/in-the-middle-of-nowhere si desidera ottenere https://www.google.com, poi semplicemente fare:

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

una risposta alternativa sta usando il servizio $window in combinazione con $location.absUrl() per creare un nuovo oggetto URL, e poi prendete l'origine tramite la proprietà origine. Questo ti darà esattamente ciò che stai cercando (meno il trailing '/').

$scope.baseUrl = new $window.URL($location.absUrl()).origin; restituirà http://localhost:9000 nel tuo caso.

2

Una soluzione cross browser che ha funzionato per me è stato:

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

$$absUrl è l'URL completo (ad es https://google.com/search/spiders)

$$url è la parte dopo che l'host (es/ricerca/spider)

Modificare a piacere.

Problemi correlati