में बेस यूआरएल प्राप्त करें मैं अपने कोणीय ऐप का मूल पथ प्राप्त करना चाहता हूं।AngularJS
अभी मैं यह कर रहा हूँ: $scope.baseUrl = '$location.host()
लेकिन मैं केवल इस मिल: /localhost
। मेरा वर्तमान बेसURL http://localhost:9000/
है।
में बेस यूआरएल प्राप्त करें मैं अपने कोणीय ऐप का मूल पथ प्राप्त करना चाहता हूं।AngularJS
अभी मैं यह कर रहा हूँ: $scope.baseUrl = '$location.host()
लेकिन मैं केवल इस मिल: /localhost
। मेरा वर्तमान बेसURL http://localhost:9000/
है।
वापस आ जाएगी है कोशिश आज़माएं: $location.$$absUrl
console.log('$location',$location.$$absUrl);
btw /localhost
अपने आधार मार्ग है, लेकिन मुझे लगता है कि आपका मतलब संपूर्ण यूआरएल है।
इंजेक्शन लगाने $location
यह उस पर एक absUrl()
विधि है कि पूरे वर्तमान यूआरएल
सिर्फ baseurl और कुछ नहीं
$browser.baseHref()
कुछ
यह वापस आ जाएगी
की तरह/केन्द्रीय/
ऊपर उठाया गया है लेकिन यह है निजी एपीआई और मैं परिणाम को पसंद करता हूं http: // someweb/somepath/ –
यह स्वीकार्य उत्तर होना चाहिए, '$ location' ओपी चाहता था जो प्रदान नहीं करता है। – AsGoodAsItGets
$scope.baseUrl = '$location.host()
इस एक का प्रयोग करें उपयोग करने के बजाय का उपयोग प्राप्त करने के लिए: -
$scope.baseUrl = $location.absUrl();
यदि आप केवल साइट के मूल यूआरएल प्राप्त करना चाहते हैं, न कि पृष्ठ का वर्तमान यूआरएल, उदाहरण के लिए
// For www.google.com
$scope.baseUrl = $locaton.$$host;
// For https://www.google.com
$scope.baseUrl = $location.$$protocol + '://' + $location.$$host;
एक वैकल्पिक जवाब $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 वापस देगा।
एक क्रॉस ब्राउज़र समाधान है कि मेरे लिए काम किया था:
$location.$$absUrl.replace($location.$$url, '')
$$absUrl
पूरे यूआरएल है (उदाहरण के https://google.com/search/spiders)
$$url
मेजबान (जैसे/खोज/मकड़ियों) के बाद हिस्सा है
स्वाद के लिए संशोधित करें।
आपको '$ location.port()' – Jasen
'absUrl()' संभवतः भी चाहिए? जांचें: https://docs.angularjs.org/api/ng/service/$location –
'$ scope.baseUrl = $ location.protocol() +": // "+ location.host;' –