আমি AngularJS ব্যবহার করে URL ক্যোয়ারী প্যারামিটারগুলির মানগুলি পড়তে চাই। আমি নিম্নলিখিত ইউআরএল দিয়ে এইচটিএমএল অ্যাক্সেস করছি:
http://127.0.0.1:8080/test.html?target=bob
যেমন প্রত্যাশিত, location.searchহয় "?target=bob"। টার্গেটের মানটি অ্যাক্সেস করার জন্য , আমি ওয়েবে তালিকাভুক্ত বিভিন্ন উদাহরণ পেয়েছি, তবে এগুলির মধ্যে কোনওটি অ্যাঙ্গুলারজেএস 1.0.0rc10 এ কাজ করে না। বিশেষত, নিম্নলিখিতটি সমস্ত undefined:
$location.search.target$location.search['target']$location.search()['target']
কেউ কি জানেন কি কাজ করবে? (আমি $locationআমার নিয়ামকের পরামিতি হিসাবে ব্যবহার করছি )
হালনাগাদ:
আমি নীচে একটি সমাধান পোস্ট করেছি, তবে আমি এটির সাথে পুরোপুরি সন্তুষ্ট নই। বিকাশকারী গাইড: ডকুমেন্টেশন : কৌণিক পরিষেবাগুলি: Using অবস্থান ব্যবহার করে নিম্নলিখিত সম্পর্কে জানানো হয় $location:
আমি কখন $ অবস্থান ব্যবহার করব?
আপনার অ্যাপ্লিকেশনটি যে কোনও সময় বর্তমান ইউআরএল পরিবর্তনের জন্য প্রতিক্রিয়া জানাতে বা আপনি ব্রাউজারে বর্তমান ইউআরএল পরিবর্তন করতে চাইলে প্রয়োজন হয়।
আমার দৃশ্যের জন্য, আমার পৃষ্ঠাগুলি একটি ক্যোয়ারী প্যারামিটার সহ বাহ্যিক ওয়েবপৃষ্ঠা থেকে খোলা হবে, তাই আমি প্রতি সেউতে "বর্তমান ইউআরএল পরিবর্তনের প্রতিক্রিয়া করছি না"। সুতরাং সম্ভবত $locationকাজের সঠিক সরঞ্জাম নয় (কুরুচিপূর্ণ বিশদগুলির জন্য, নীচে আমার উত্তরটি দেখুন)। তাই আমি "প্রশ্নের সাথে অ্যাঙ্গুলারজেএসে কোয়েরি প্যারামিটারগুলি কীভাবে পড়ব?" থেকে এই প্রশ্নের শিরোনামটি পরিবর্তন করেছি? "অ্যাঙ্গুলারজেএস-এ কোয়েরি পরামিতিগুলি পড়ার সর্বাধিক সংক্ষিপ্ত উপায় কী?" স্পষ্টতই আমি পার্স করার জন্য জাভাস্ক্রিপ্ট এবং নিয়মিত প্রকাশটি ব্যবহার করতে পারি location.search, তবে এত মৌলিক কোনও কিছুর জন্য নিম্ন-স্তরের দিকে যাওয়া সত্যিই আমার প্রোগ্রামার সংবেদনশীলতাকে আপত্তিজনক।
সুতরাং: $locationআমি আমার উত্তরের চেয়ে আরও ভাল উপায় ব্যবহার করতে পারি, বা একটি সংক্ষিপ্ত বিকল্প আছে?
http://127.0.0.1:8080/test.html#?target=bobকাজ করবে, #আগে লক্ষ্য করুন ?। $locationএটি একটি দ্বিতীয় স্তরের রাউটিং পদ্ধতি যা সার্ভারে প্রেরণ হয় না।
$location.search()['target']হওয়ার পরে কাজ করে $locationProvider.html5Mode(true)।