मैं AngularJS का उपयोग करके URL क्वेरी मापदंडों के मूल्यों को पढ़ना चाहता हूं। मैं निम्नलिखित URL के साथ HTML तक पहुँच रहा हूँ:
http://127.0.0.1:8080/test.html?target=bob
जैसी उम्मीद थी, location.search
है "?target=bob"
। लक्ष्य के मूल्य तक पहुँचने के लिए , मैंने विभिन्न उदाहरणों को वेब पर सूचीबद्ध पाया है, लेकिन उनमें से कोई भी AngularJS 1.0.0rc10 में काम नहीं करता है। विशेष रूप से, निम्नलिखित सभी हैं undefined
:
$location.search.target
$location.search['target']
$location.search()['target']
किसी को पता है कि क्या काम करेगा? (मैं $location
अपने नियंत्रक के लिए एक पैरामीटर के रूप में उपयोग कर रहा हूं )
अपडेट करें:
मैंने नीचे एक समाधान पोस्ट किया है, लेकिन मैं इससे पूरी तरह संतुष्ट नहीं हूं। डेवलपर गाइड पर प्रलेखन : कोणीय सेवाएँ: $ स्थान का उपयोग करने के बारे में निम्नलिखित बताता है $location
:
मुझे $ स्थान का उपयोग कब करना चाहिए?
किसी भी समय आपके एप्लिकेशन को वर्तमान URL में परिवर्तन या यदि आप ब्राउज़र में वर्तमान URL को बदलना चाहते हैं तो प्रतिक्रिया करने की आवश्यकता है।
मेरे परिदृश्य के लिए, मेरा पृष्ठ एक क्वेरी पैरामीटर के साथ एक बाहरी वेबपेज से खोला जाएगा, इसलिए मैं "वर्तमान URL में परिवर्तन के प्रति प्रतिक्रिया नहीं दे रहा हूं"। तो शायद $location
नौकरी के लिए सही उपकरण नहीं है (बदसूरत विवरण के लिए, नीचे मेरा जवाब देखें)। इसलिए मैंने इस प्रश्न का शीर्षक "$ स्थान का उपयोग करके AngularJS में क्वेरी पैरामीटर कैसे पढ़ें?" से बदल दिया है। "AngularJS में क्वेरी पैरामीटर पढ़ने के लिए सबसे संक्षिप्त तरीका क्या है?"। जाहिर है मैं सिर्फ जावास्क्रिप्ट और नियमित अभिव्यक्ति को पार्स करने के लिए उपयोग कर सकता था location.search
, लेकिन कुछ बुनियादी के लिए निम्न-स्तर पर जाना वास्तव में मेरी प्रोग्रामर संवेदनाओं को प्रभावित करता है।
तो: क्या उपयोग करने के लिए एक बेहतर तरीका है $location
की तुलना में मैं अपने जवाब में करते हैं, या वहाँ एक संक्षिप्त वैकल्पिक है?
http://127.0.0.1:8080/test.html#?target=bob
काम करेंगे, #
इससे पहले नोटिस ?
। $location
एक दूसरी स्तर की रूटिंग विधि है जो सर्वर को नहीं भेजी जाती है।
$location.search()['target']
के बाद काम करता $locationProvider.html5Mode(true)
है एक आधुनिक ब्राउज़र में बुलाया गया है।