Comunidad de diseño web y desarrollo en internet online

Problema Ajax - Struts

Citar            
MensajeEscrito el 31 Jul 2011 09:03 pm
Hola,

Estoy teniendo problemas con la codificación de los parámetros a la hora de realizar una petición Ajax por Post.

Cuando la petición se ejecuta desde el navegador Firefox los parámetros que llegan al Java en la request tienen una codificación diferente (cuando contienen caracteres especiales - ñ, acentos, etc) a la del resto de navegadores con los que he probado (IE6, IE7, IE8, Opera, Safari).

Supongo que el problema puede ser el objeto empleado por cada navegador (XMLHttpRequest() o ActiveXObject("Msxml2.XMLHTTP"), ActiveXObject("Microsoft.XMLHTTP"))
y que los objetos codifiquen los parámetros de la petición empleando un encoding diferente.

He probado a utilizar la función JavaScript:
encondeURIComponent(parametro)
para codificar los parámetros de la petición, pero siguen llegando al Java con distintos encoding dependiendo del navegador.

También he probado a utilizar:
setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
setRequestHeader("Accept-Charset", "ISO-8859-1")
send(cadena_de_parametros)

para ver si así forzaba a que las peticiones llevasen el mismo encoding pero no funcionó...

¿A alguien se le ocurre una explicación al motivo por el cual en una llamada Ajax los párametros lleven un encoding diferente en función del navegador?

¿Alguien sabe como hacer para que los parámetros de la petición lleven el mismo encoding independientemente de navegador?

Un saludo y gracias.

Por Imi

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Jul 2011 09:30 pm
Pues yo también hice mi propia implementación de AJAX y no he tenido ningún problema con ningún navegador, incluyendo Firefox.

Salvo que le especifiques otra cosa, la petición se hace en UTF-8 lo cual está bien para mi porque tengo como política hacer todo en UTF-8.

Si pudieras colgar un código de ejemplo reproduciendo el problema así lo podemos verificar...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 31 Jul 2011 10:07 pm
A mi también me ha sorprendido.
La petición Ajax no tiene nada especial, lo típico de comprobar el navegador desde el que se realiza, etc
La codificación de la página jsp es "ISO-8859-1" (eso no voy a poder cambiarlo).
Ahora no tengo el código a mano pero mañana lo pondré.

Gracias por responder, un saludo.

Por Imi

14 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.