J'ai une fonction javascript qui transmet comme valeur de chaîne de requête une autre chaîne de requête.Comment encoder une chaîne de requête pour qu'elle soit la valeur d'une autre chaîne de requête en javascript?
En d'autres termes, je veux la chaîne de requête à:
http://www.somesite.com/?somequery=%3fkey%3dvalue1%2520%26%2520key2%3value3
Cependant, si je réoriente comme ceci:
var url = 'http://www.somesite.com/?somequery=';
url += escape('?key=value1&key2=value2');
window.location = url;
il finit comme http://www.somesite.com?somequery=?key1=value1&key2=value2
dans Firefox et IE7 ce qui signifie que Je ne peux pas analyser la chaîne de requête correctement.
J'ai également essayé d'utiliser le composant encodeURIC qui ne fonctionnait pas non plus.
Existe-t-il une autre fonction ou un hack pour forcer la redirection à conserver la valeur somequery
?
Oui, je suis sûr que l'échappement est obsolète. Bon appel. –
Vous devrez peut-être résoudre '%' dans [requête] – KooiInc
Cela fonctionne - bien que lors de l'analyse de la chaîne de requête, je dois le décoder deux fois maintenant. Il semble que lorsqu'il est codé une fois, il sera décodé par le navigateur mais lorsqu'il est codé deux fois, il ne sera pas décodé du tout. étrange. – rmw