2012-04-30 30 views
5

में एक ampersand होने मैं थोड़ा जावास्क्रिप्ट के लिए नया हूँ और मैं एक छोटी सी समस्या आ रही है:एक क्वेरी स्ट्रिंग पैरामीटर

मैं एक पेज जावास्क्रिप्ट में (जो तब एक रीडायरेक्ट करता है) पर रीडायरेक्ट करने की कोशिश कर रहा हूँ। जब यह पेज है कि मैं ReturnUrl के रूप में पारित करने के लिए पुनर्निर्देशित करने के लिए कोशिश कर रहा है

window.location = "./RedirectPage.aspx?ReturnUrl=page.aspx?key=val&key2=val2"; 

अब, RedirectPage.aspx पर, इसके लिए एक क्वेरी स्ट्रिंग पैरामीटर होने के रूप में पार्स करने है कुंजी 2 = val2: मैं तो जैसे window.location सेट कर रहा हूं ReturnUrl के बजाय RedirectPage।

यह समझ में आता है कि यह ऐसा करता है, लेकिन यह वह नहीं है जो मैं करने की कोशिश कर रहा हूं ... कोई विचार है कि मैं इसे कैसे हल कर सकता हूं?

+0

आपके एम्पर्सेंड को कहीं भी एन्कोड किया गया है। आपको यह जांचने की आवश्यकता होगी कि एन्कोडिंग कहां हो रहा है। – kinakuta

उत्तर

12

आप यूआरएल को रिटर्न यूआरएल क्वेरीस्ट्रिंग एन्कोड करना चाहते हैं।

window.location = "./RedirectPage.aspx?ReturnUrl="+encodeURIComponent("page.aspx?key=val&key2=val2"); 
+1

+1 बहुत बहुत धन्यवाद! –

2

इस प्रयास करें:

window.location = "./RedirectPage.aspx?"+encodeURIComponent("ReturnUrl=page.aspx?key=val&key2=val2") 

आप (एक क्वेरी स्ट्रिंग में उपयोग के लिए) एम्परसेंड से बचने के लिए की जरूरत है।

+1

तो करीब। जैसा कि यह निकला, ReturnUrl = encodeURIComponent के बाहर होने की आवश्यकता है। आप और थेरॉन दोनों को +1, लेकिन वह और अधिक सही था। धन्यवाद। –

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