Tengo una función javascript que pasa como cadena de consulta el valor de otra cadena de consulta.Cómo codificar una cadena de consulta para que sea el valor de otra cadena de consulta en javascript?
En otras palabras, quiero que la cadena de consulta que sea:
http://www.somesite.com/?somequery=%3fkey%3dvalue1%2520%26%2520key2%3value3
Sin embargo, si vuelvo a dirigir la siguiente manera:
var url = 'http://www.somesite.com/?somequery=';
url += escape('?key=value1&key2=value2');
window.location = url;
que termina como http://www.somesite.com?somequery=?key1=value1&key2=value2
en Firefox e IE7 lo que significa que No puedo analizar la cadena de consulta correctamente.
También intenté usar encodeURIComponent que tampoco funcionó.
¿Hay otra función o un truco para forzar la redirección para mantener el valor somequery
escapado?
Sí, estoy bastante seguro de que el escape está obsoleto. Buena llamada. –
Puede que tenga que resolver tener '%' en [consulta] – KooiInc
Esto funciona, aunque al analizar la cadena de consulta, debo decodificarla dos veces. Parece que cuando se codifica una vez, será decodificado por el navegador, pero cuando se codifica dos veces, no se decodificará en absoluto. extraño. – rmw