Tengo un formulario con algunos campos. Cuando envía el formulario, el servidor responde con un redireccionamiento (HTTP 302).IE no sigue la redirección, da "Internet Explorer no puede mostrar la página web"
Cuando se envía el formulario, si hay un campo <input type=file>
, IE no sigue el redireccionamiento, sino que produce un error: "Internet Explorer no puede mostrar la página web".
Si no hay ningún <input type=file>
campo, entonces se sigue la redirección como se esperaba.
La respuesta HTTP 302 es exactamente igual en ambos casos, difiriendo solo por la marca de tiempo de la respuesta.
Estoy experimentando esto en IE8 e IE9. (No he probado versiones más bajas). Firefox, Chrome, Opera y Safari siguen el redireccionamiento como se esperaba.
Notas:
- El formulario tiene el atributo
enctype="multipart/form-data"
. - Esto está sucediendo a través de SSL
- El redireccionamiento no es a un protocolo, host o puerto diferente de la URL en la que se encuentran los formularios POST o en los que está alojado.
- Cuando inspecciono el tráfico HTTP con Fiddler2, desaparece el problema y se comporta IE.
Impar. una redirección 302 haría que el navegador emitiera un GET en la página de destino, lo que perdería el archivo cargado (si lo hubiera). Tal vez el error de IE es una indicación de esto (y IE siempre tiene mensajes de error). Sin embargo, no explica por qué Fiddler "arreglaría" las cosas. –
@Marc, en el servidor es una aplicación de Rails. Acepta la solicitud, guarda el archivo y otras cosas en la base de datos, luego responde con un redireccionamiento a otra página. Debería emitir una solicitud GET a esta nueva página, pero no es así. – nicholaides