2016-01-30 12 views
11

में बेस यूआरएल प्राप्त करें मैं अपने कोणीय ऐप का मूल पथ प्राप्त करना चाहता हूं।AngularJS

अभी मैं यह कर रहा हूँ: $scope.baseUrl = '$location.host()

लेकिन मैं केवल इस मिल: /localhost। मेरा वर्तमान बेसURL 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);

btw /localhost अपने आधार मार्ग है, लेकिन मुझे लगता है कि आपका मतलब संपूर्ण यूआरएल है।

9

सिर्फ baseurl और कुछ नहीं

$browser.baseHref() 
कुछ

यह वापस आ जाएगी

की तरह/केन्द्रीय/

+0

ऊपर उठाया गया है लेकिन यह है निजी एपीआई और मैं परिणाम को पसंद करता हूं http: // someweb/somepath/ –

+1

यह स्वीकार्य उत्तर होना चाहिए, '$ location' ओपी चाहता था जो प्रदान नहीं करता है। – AsGoodAsItGets

0

$scope.baseUrl = '$location.host()

इस एक का प्रयोग करें उपयोग करने के बजाय का उपयोग प्राप्त करने के लिए: -

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

यदि आप केवल साइट के मूल यूआरएल प्राप्त करना चाहते हैं, न कि पृष्ठ का वर्तमान यूआरएल, उदाहरण के लिए

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

एक वैकल्पिक जवाब $location.absUrl() साथ संयोजन के रूप में $window सेवा का उपयोग कर रहा है एक नया URL वस्तु बनाने, और फिर मूल संपत्ति के माध्यम से मूल हड़पने के लिए: https://www.google.com/somewhere/in-the-middle-of-nowhere से आप तो बस करना https://www.google.com प्राप्त करना चाहते हैं,। यह आपको वही देगा जो आप खोज रहे हैं (पीछे की ओर '/')।

$scope.baseUrl = new $window.URL($location.absUrl()).origin; आपको अपने मामले में http://localhost:9000 वापस देगा।

2

एक क्रॉस ब्राउज़र समाधान है कि मेरे लिए काम किया था:

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

$$absUrl पूरे यूआरएल है (उदाहरण के https://google.com/search/spiders)

$$url मेजबान (जैसे/खोज/मकड़ियों) के बाद हिस्सा है

स्वाद के लिए संशोधित करें।