jueves, 22 de enero de 2009

Obtener el objeto XMLHttpRequest

Para poder obtener un objeto XMLHttpRequest y hacer una comunicacion asincrona con el servidor se puede hacer una funcion como la siguiente.


function getXmlHttpObject() {
var xmlHttp;
try {

// Firefox, Opera, Netscape
xmlHttp = new XMLHttpRequest();
} catch(e) {
try {

// Internet explorer viejo
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {

//Internet explorer nuevos
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") ;
} catch(e) {
// AJAX is not suported.
}
}
}
return xmlHttp;
}


Para comunicarse con el servidor se puede llamar a una funcion como la siguiente:

function obtenerLaOtraPagina() {
var xmlHttp = getXmlHttpObject();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.status == 200)
if (xmlHttp.readyState == 4) {
var respuesta = xmlHttp.responseText;
//Aqui se puede hacer algo con la respuesta
}
}
xmlHttp.open("GET", "serverSideScriptlet.jsp", true);
xmlHttp.send(null);
}

2 comentarios:

Angel dijo...

Hola amigo aqui aprendiendo de Ajax.

Mi pregunta: Tengo IE8 y no puedo ejecutar el codigo Ajax, cuando en Google Chrome funciona perfectamente. Que podra ser.
Conoces alguna manera de hacerlo funcionar...

Ing. Ernesto Maldonado dijo...

Mira lo que sucede con el IE (Cualquier version) es que Microsoft decidió como siempre salirse del estandra y "Crear su propio estandard", te recomiendo que veas los tutoriales de www.w3schools.org, tambien te recomiendo usar alguna libreria como prototype (www.prototypejs.org), que es gratis y que tiene soporte para diferentes navegadores, asi no te tendras que preocupar por hacer validaciones para saber cual navegador tienes