2012-05-13 20 views
12

Quiero hacer una redirección y mantener cuál es la cadena de consulta. Algo así como self.redirect más los parámetros de consulta que se enviaron. ¿Es eso posible?¿Cómo hacer una redirección y mantener la cadena de consulta?

+1

¿Dónde quieres guardarlo? En una sesión? – XORcist

+0

¿No puedo simplemente pasar los parámetros de consulta a través de HTTP GET? –

+1

Por supuesto, no sé qué marco está utilizando, pero eso debería ser sencillo. En http recta enviaría un 301 o 303 con el encabezado de ubicación establecido en la url de redirección más los parámetros de consulta que desea conservar. – XORcist

Respuesta

16
newurl = '/my/new/route?' + urllib.urlencode(self.request.params) 
self.redirect(newurl) 
+1

¡Muchas gracias! Parece que es lo que estoy buscando. –

+0

no se puede ejecutar en tornado 4 – Wee

9

Usted puede recuperar la cadena de consulta a la solicitud actual con self.request.query_string; por lo tanto, puede redireccionar a una nueva URL con self.redirect('/new/url?' + self.request.query_string).

+0

Gracias por la respuesta Nick. Esto es lo que estaba buscando. –

+0

no se puede ejecutar en tornado 4 – Wee

Cuestiones relacionadas