2010-02-08 15 views
10

मैं HTTP अनुरोध के माध्यम से एक स्ट्रिंग पास करने का प्रयास कर रहा हूं जिसमें URL क्वेरी स्ट्रिंग में % के रूप में वर्ण है।URL क्वेरी स्ट्रिंग में% कैसे पास करें?

url = url + "?q=" + str + "&block=" + block; // str contains the '%' character 

लेकिन ColdFusion पेज जहां मैं इस जानकारी भेज रहा हूं पर निम्न त्रुटि लौट रहा है:

Element Q is undefined in URL.

मैं एक URL में % संकेत सांकेतिक शब्दों में बदलना कर सकते हैं कैसे?

उत्तर

12

आप URL एन्कोड चाहिए सभी मूल्यों आप क्वेरी पैरामीटर के रूप में गुजर रहे हैं, लेकिन% के लिए यूआरएल एन्कोडिंग %25

अद्यतन है: यदि आप जावास्क्रिप्ट में क्वेरी पैरामीटर के निर्माण कर रहे हैं, तो आप शायद चाहते हैं ऐसा करने के लिए:

url=url+"?q="+encodeURIComponent(str)+"&block="+encodeURIComponent(block) 

(। escape के बजाय encodeURIComponent उपयोग करने के लिए ZeissS 'बहुत उपयोगी सुझाव के साथ फिर से अपडेट किया गया यह भी देखें http://xkr.us/articles/javascript/encode-compare/)

+1

आपको यूआरएल के एक घटक से बचने के बाद से 'encodeURIComponent()' का उपयोग करना चाहिए। – ZeissS

+0

बहुत बहुत धन्यवाद अब यह काम कर रहा है :) –

9

अपने स्ट्रिंग दर्रा गर्त समारोह encodeURI(...) यह सब विशेष वर्ण न केवल% बच जाएंगे

+0

बहुत बहुत धन्यवाद !!! encodeURI() एक बहुत मददगार था .. –

+0

ब्रैड जी के उत्तर में बताए गए अनुसार 'एनकोडुरिकॉम्पोनेंट' पर भी विचार करें। 'एनकोडुरि 'कुछ पात्रों को एन्कोड नहीं करता है जिन्हें * इस तरह के मामले में एन्कोड किया जाना चाहिए। एक चरित्र यह एन्कोड नहीं करता है, यह एक मामूली उदाहरण के रूप में क्यों है कि यह यहां संभावित रूप से खराब क्यों है, '&' है। –

+0

@pst लेकिन यदि आप क्वेरी स्ट्रिंग में पैरामीटर पास करना चाहते हैं तो क्यों बचें और पैरामीटर को अलग करना चाहते हैं? – Mic

3

ColdFusion में URLEncodedFormat()

+0

आपके समय के लिए धन्यवाद। क्या मैं ओरेकल डेटाबेस में डेटा डालने के दौरान URLEncodedFormat() का उपयोग कर सकता हूं? –

+0

सुनिश्चित करें, लेकिन आपको खुद से पूछना चाहिए कि क्या वास्तव में आप करना चाहते हैं। – Henry

-2

हम ColdFusion में URLEncodedFormat() का उपयोग कर सकते साथ ही हम नीचे उल्लिखित एक का उपयोग कर सकते हैं।

  • encodeURI (...)
  • encodeURIComponent

यह दो भी हमारे समस्या को हल करने के लिए मदद करते हैं।

संबंधित मुद्दे