मेरा मुद्दा निम्न है। मेरे पास एक्सएचटीएमएल 1.1 पृष्ठ है जिसमें एक फॉर्म और इनपुट फ़ील्ड है। इनपुट फ़ील्ड में से एक में एक मान होता है जो एक यूआरआई है। इस यूआरआई में एम्पर्सेंड के साथ कुंजी-मूल्य जोड़े शामिल हैं (&) तर्क विभाजक के रूप में, जिसे ब्राउज़र में किसी अन्य वेब एप्लिकेशन द्वारा जीईटी अनुरोध के रूप में पारित किया जाएगा।कैसे-एक्सएचटीएमएल 1.1 एक एम्पर्सेंड को बचने के बिना मान्य करता है?
आमतौर पर मैं कोड एक्सएचटीएमएल 1.1 के रूप में कोड को सत्यापित करने के लिए एम्पर्सेंड बनाने के लिए इकाई का उपयोग करता हूं। मेरी समस्या यह है कि एप्लिकेशन को GET अनुरोध प्राप्त नहीं होता है, क्योंकि (अपेक्षित के रूप में) ब्राउज़र समझ में नहीं आता है कि यूआरआई में &
को कैसे संभालना है।
तो मेरा प्रश्न वास्तव में HTML इकाई का उपयोग किये बिना एम्पर्सेंड लिखना है, इसलिए ब्राउजर अभी भी इसे तर्क विभाजक के रूप में पहचानता है और जीईटी अनुरोध वेब ऐप पर ठीक से पास किया जाता है।
मैंने हेक्स (% 26) एम्पर्सेंड एन्कोडिंग करने की कोशिश की लेकिन ब्राउज़र अभी भी इसे उचित अनुवाद नहीं करता है, इसे उचित & वर्ण पर वापस "अनुवाद" नहीं करता है।
XHTML and & (Ampersand) encoding
"(उम्मीद के रूप में) ब्राउज़र को नहीं समझता कैसे संभाल करने के लिए' '& यूआरआई में" - वह यह है कि ** नहीं ** अपेक्षा के अनुरूप है, तो आप पता बार में '&' नहीं देखना चाहिए जब तक कि आपने इसे डबल-एन्कोड नहीं किया हो। –
कृपया प्रश्न दोबारा पढ़ें। एम्पर्सेंड इनपुट के मूल्य फ़ील्ड के अंदर एक यूआरआई का हिस्सा हैं। फॉर्म सबमिट करने के बाद उपयोगकर्ता को वही स्थान पर वापस कर दिया जाएगा, जैसा लिखा है। इसका मतलब यह है कि या तो मैं एम्पर्सेंड को एन्कोडेड छोड़ देता हूं लेकिन सत्यापन विफल रहता हूं, या मैं उन्हें समस्या के साथ एन्कोड करता हूं कि ब्राउज़र को पता बार में HTML इकाई प्राप्त होगी और प्रक्रिया में अगले ऐप में क्वेरी-स्ट्रिंग पर गुजरने में विफल रहेगा। –
एचटीएमएल को एक डोम में कनवर्ट करते समय ब्राउजर को '&' '' 'को डीकोड करना चाहिए। URL या x-url-form-encoded डेटा का निर्माण करते समय इसे '&' '26% के रूप में एन्कोड करना चाहिए। यदि यह काम नहीं करता है, तो मुझे संदेह है कि आप सर्वर पर डेटा को गलत तरीके से संभालने वाले हैं। – Quentin