Plena compatibilidad con los principales navegadores del tutorial ajax hispano

Enviado por Javier Mellado el 20 Abril, 2006 - 04:33 ::

Como os dije, cuando tuviera un pequeño hueco y pudiera corregir el fallo de compatibilidad con internet explorer, os lo haría saber, y así ha sido. Espero que lo disfrutéis bien y uséis la librería que he programado para la comunidad

Gracias a Beatriz González por ver lo que mis ojos delante mía no podían ver.

haz click aquí para ver el tutorial

DaMa
Enviado por DaMa el 28 Agosto, 2007 - 20:01

Hola, soy practicamente nueva en esto del ajax y estoy intentando probar cosas. Lo que me ocurre es lo siguiente, yo vi una forma de crear las paginas ajax y la use y funcionaba correctamente (yo trabajo con firefox) y mi hermana que trabaja con explorer tambien lo ve correctamente. El problema lo tenemos a veces (que no siempre) que cuando tiras a cargar algo que esta con ajax se queda la pagina como colgada. Estuve mirandolo en un sitio y ponia como que el codigo q yo estaba usando no era compatible con los dos servidores. Os copio el codigo a ver si me podeis echar una mano pq yo ya no se q mirar ni que tengo mal.

function llamarasincrono (url, id_contenedor,id_contenedor2)
{
comprobar_submenu(id_contenedor2);
var pagina_requerida = false;
if (window.XMLHttpRequest)
{
// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest ();
} else if (window.ActiveXObject)
{
// pero si es IE
try
{
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
}
catch (e)
{
// en caso que sea una versión antigua
try
{
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
else
return false;
pagina_requerida.onreadystatechange = function ()
{
// función de respuesta
cargarpagina (pagina_requerida, id_contenedor);
}
pagina_requerida.open ('GET', url, true); // asignamos los métodos open y send
pagina_requerida.send (null);
}

function cargarpagina (pagina_requerida, id_contenedor)
{
if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}

nileunam
Enviado por nileunam el 14 Marzo, 2007 - 18:08

hola soy un usuario mas de ajax y pues tengo un problema con la compativilidad de mis scripts js con los navegadores pues todo me sale bien en Internet Explorer pero no es asi con mozilla, opera, etc..
desaria que alguien me de una respuesta por fa

Macklus
Enviado por Macklus el 28 Febrero, 2007 - 01:22

Me encanta. Simple, sencilla y rapida :-D
Lo unico que le falta para ser perfecta es que baste añadir el nombre del formulario para que coja los valores de los distintos elementos.

Un saludo y enhorabuena.

jesulito
Enviado por jesulito el 8 Mayo, 2006 - 14:49

he estado haciendo modificaciones sobre el código del artículo GET POST. El caso es que pongo el link del formulario a un texto ...a href ... para cargar una página en el div deseado, todo ok, pero el html cargado en el div me aparece con errores en los caracteres especiales (acentos, ...), en el firefox me aparece un "rombo", y en el explorer un interrogante,

Estoy haciendo un mal uso del tutorial y hay una forma mas sencilla de poner un enlace? Me estoy olvidando de configurar algo en el servidor?

espero vuestra respuesta

jose

PD: gracias por la página...

Javier Mellado
Enviado por Javier Mellado el 8 Mayo, 2006 - 16:23

Hola. Pues me temo que eso es por la codificación de caracteres que tenga tu servidor puesto.

Es el eterno problema UTF-8 Vs ISO8859-1. El tutorial solo manda los datos de un sitio a otro. Como lo mandas y como lo procesas ya es cosa del script del servidor. Quizás lo mejor sería que en tu script de servidor, te hablo del caso de php, utilizaras la función htmlentities que te convierte los caracteres "raros" en caracteres html como por ejemplo árbol - > árbol.

Espero que te sirva de ayuda.

Javier

jesulito
Enviado por jesulito el 18 Mayo, 2006 - 11:00

Gracias Javier, era por la codificacion UTF-8, con un simple utf8_decode (php) ha sido suficiente.

Un saludo y a ver si esto se anima un poco !!

comomolo
Enviado por comomolo el 24 Mayo, 2006 - 09:33

Jose: Yo tengo el mismo problema. ¿Dónde has puesto el utf8_decode?

A mí el código PHP suelto me funciona bien, pero cuando lo integro con el Javascript/AJAX pierdo los caracteres acentuados.

Llevo toda la noche intentando encontrar una solución y no lo consigo. Apreciaré vuestra ayuda.

Un saludo,

CM

comomolo
Enviado por comomolo el 24 Mayo, 2006 - 09:45

Vale. Me respondo yo mismo. No sé por qué pero de repente se me ha ocurrido probar con utf8_encode (en lugar de utf8_decode) y por fin ha funcionado. ¡Qué pesadilla!

Saludos,

CM