> Manuales > Manual Ajax práctico - Taller Ajax

Bien, aqui te pasaremos a explicar el código de la funcion a fin que podas entenderlo mejor.

El codigo tiene dos funciones.

La primera es la función que carga el objeto AJAX propiamente dicho. Si bien es compleja, su explicacion no es objeto de este tutorial, y podes usar cualquier funcion para la carga del objeto xhttprequest que vengas usando previamente.

La funcion recibeid es la que se encarga de pasar valores entre páginas mediante AJAX, ya sean estos mediante GET o mediante POST.

Para ello usa 4 variables:
  1. _pagina por donde le paso la url de la página que deseo cargar
  2. valorget por donde le paso las variables get que deseo pasar
  3. valorpost por donde le paso las variables post que deseo pasar
  4. capa donde indico el DIV o la capa donde se cargará la página que se solicite mediante la funcion.
DESGLOSANDO LA FUNCION

¿Envio por GET o por POST?

Primeramente mediante el siguiente codigo

if(valorpost!=""){



ajax.open("POST", _pagina+"?"+valorget+"&tiempo="+new Date().getTime(),true);



} else {



ajax.open("GET", _pagina+"?"+valorget+"&tiempo="+new Date().getTime(),true);



}

La funcion determina el método que usará el objeto AJAX para enviar las variables a la página. Como sabes, si uno envia por metodo POST esto se hace de forma diferente a cuando envias mediante GET.

Adicionalmente sucede que si envias mediante GET y hay variables POST, las mismas no serán pasadas. Por ello la utilidad de este condicional es saber si hay variables POST que deben ser pasadas, setear el método a POST y sino dejarlo en GET.

La siguiente parte del código básicamente verifica los estados. Mientras la página esta siendo llamada carga una coqueta imagen de cargando, aunque podes reemplazarla por una frase si deseas.

Y una vez que recibe los resultados, los carga en la capa.

Finalmente la otra parte importante de la funcion

Mediante el siguiente condicional, se complementa el primer condicional, enviando los datos de la solicitud mediante POST o GET segun corresponda, con el codigo adecuado para ajax.send.

if(valorpost!=""){



ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");



ajax.send(valorpost);



} else {



ajax.send(null);



}

Pablo Lecce

Programador autodidacta

Manual