हैश मूल्य लंगर के लिए है के लिए wikipedia देखते हैं, तो यह केवल क्लाइंट-साइड है, यह अक्सर कोणीय तरह क्लाइंट साइड ढांचे में प्रयोग किया जाता है क्लाइंट-साइड रूटिंग के लिए।
एंकर सर्वर-साइड उपलब्ध नहीं है।
आपके मामले में आपको एंकर की आवश्यकता नहीं है, लेकिन क्वेरी स्ट्रिंग को # ब्रेक के साथ पैरामीटर मान मान "लेनदेन लॉग # 45 9 505" है।
संपादित अनुभवहीन समाधान है कि काम नहीं करता है, बस इसे इतिहास के लिए वहाँ जाने, देखें नीचे
रियल समाधान समाधान एन्कोड करने के लिए क्लाइंट-साइड और डिकोड SERVEUR साइड
एन्कोडिंग है जावास्क्रिप्ट में
जावा
में
encodeURI("Transaction Log #459505")
//result value "Transaction%20Log%20#459505"
डिकोड
java.net.URLDecoder.decode("Transaction%20Log%20#459505");
//result "Transaction Log #459505"
संपादित करें : लेकिन: जावास्क्रिप्ट जावा की तुलना में उसी तरह एन्कोड नहीं करता है, इसलिए सही उत्तर (मुझे उम्मीद है) मैन्युअल रूप से% 23 के साथ अपने सभी # को प्रतिस्थापित करना है, तो जावा इसे सामान्य रूप से डीकोड करेगा, या टिप्पणियों में सुझाए गए अनुसार एन्कोडुरिकॉम्पोनेंट का उपयोग करेगा। आपकी ज़रूरत के लिए प्रतिस्थापन समाधान पर्याप्त प्रतीत होता है। जावास्क्रिप्ट में
एनकोड:
encodeURI("yourUrl/Transaction Log #459505").replace(/#/,"%23")
//result: yourUrl/Transaction%20Log%20%23459505
जावा में डिकोड लंबे पद के लिए नहीं बदलता है
java.net.URLDecoder.decode("Transaction%20Log%20#459505")
// result (java.lang.String) Transaction Log #459505
क्षमा करें, मैं bettween जावा और JavaScrip यूआरएल एन्कोडिंग
अंतर नहीं देखा था
देखें [यह प्रश्न] (http://stackoverflow.com/questions/20280212/getting-the-full-url-including-the-query-string-after-hash) –