2012-04-30 12 views
5

que soy un poco nuevo en javascript y estoy teniendo un problema menor:Tener un símbolo de unión en un parámetro de cadena de consulta

Estoy intentando redirigir a una página (que entonces realiza una redirección) en javascript. Soy la creación de la window.location así:

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

Ahora, en RedirectPage.aspx cuando se está tratando de redirigir a la página que pasé en que el ReturnUrl, se está analizando clave2 = val2 como otro parámetro de cadena de consulta para RedirectPage en lugar de ReturnUrl.

Tiene sentido que lo haga, pero eso no es lo que estoy tratando de hacer ... alguna idea de cómo podría resolver esto?

+0

Tus signos y símbolos han sido codificados en alguna parte. Tendrá que examinar dónde está ocurriendo la codificación. – kinakuta

Respuesta

12

Desea que la URL codifique la cadena de consulta ReturnUrl.

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

+1 ¡Muchas gracias! –

2

Prueba esto:

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

tiene que escapar del signo (para su uso en una cadena de consulta).

+1

tan cerca. Resultó que ReturnUrl = necesitaba estar fuera del encodeURIComponent. +1 a ti y a Theron, pero el suyo era más correcto. Gracias. –

Cuestiones relacionadas