मेरे पास एक जावास्क्रिप्ट फ़ंक्शन है जो एक क्वेरी स्ट्रिंग मान के रूप में गुजरता है अन्य क्वेरी स्ट्रिंग। औरक्वेरी स्ट्रिंग को एन्कोड कैसे करें ताकि यह जावास्क्रिप्ट में किसी अन्य क्वेरी स्ट्रिंग का मान हो?
var url = 'http://www.somesite.com/?somequery=';
url += escape('?key=value1&key2=value2');
window.location = url;
यह फ़ायरफ़ॉक्स में http://www.somesite.com?somequery=?key1=value1&key2=value2
के रूप में समाप्त होता है IE7 कि जिसका अर्थ है:
दूसरे शब्दों में, मैं क्वेरी स्ट्रिंग होना चाहते हैं:
http://www.somesite.com/?somequery=%3fkey%3dvalue1%2520%26%2520key2%3value3
हालांकि, मैं इस तरह अनुप्रेषित अगर मैं क्वेरी स्ट्रिंग को सही तरीके से पार्स नहीं कर सकता।
मैंने एन्कोडुरिकॉम्पोनेंट का उपयोग करने का भी प्रयास किया जो कि काम नहीं करता था।
somequery
मूल्य से बचने के लिए रीडायरेक्ट को मजबूर करने के लिए कोई अन्य फ़ंक्शन या हैक है ??
हाँ, मुझे पूरा यकीन है कि बच निकला है। अच्छा निर्णय। –
आपको [query] – KooiInc
में '%' होने का समाधान करना पड़ सकता है यह काम करता है - हालांकि क्वेरी स्ट्रिंग को पार्स करते समय मुझे इसे दो बार डीकोड करना होगा। ऐसा लगता है कि जब इसे एक बार एन्कोड किया जाता है, तो इसे ब्राउज़र द्वारा डीकोड किया जाएगा, लेकिन जब इसे दो बार एन्कोड किया जाता है तो इसे डीकोड नहीं किया जाएगा। अजीब। – rmw