Primera experiència amb AJAX

Ja és un fet: ja he fet el meu primer component amb la tecnologia anomenada Ajax (ja en vaig parlar en un article anterior).
El podeu veure a la pà gina del “Col.legi de geolegs”:http://www.colgeocat.org/web/pager.php?pagname=atlas :de moment no han posat dades, ja que hem presentat el projecte avui.

La veritat és que és molt més senzill del que sembla.
Primer de tot caldra detectar quin navegador s’esta utilitzant, per a crear el component Ajax: potser hem de crear un ActiveXObject o en els millors dels casos un XMLHttpRequest (que es més estandard).


               var ajax=false;
		/*@cc_on @*/
		/*@if (@_jscript_version >= 5)
		try {
		ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		try {
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
		ajax = false;
		}
		}
		@end @*/
		if (!ajax && typeof XMLHttpRequest!='undefined') {
		ajax = new XMLHttpRequest();
		}

Despres, només s’ha de crear una funció que vagi a agafar la pagina que demanes i insertar-la dins d’una capa, amb l’innerHTML de tota la vida.


function getMyHTML(serverPage, objID) {
	var obj = document.getElementById(objID);
	ajax.open("GET", serverPage);
	ajax.onreadystatechange = function() {
	   if (ajax.readyState == 4 && ajax.status == 200) {
		obj.innerHTML = ajax.responseText;
	   }
	}
	ajax.send(null);
}

Dins del teu codi, has de cridar a la funció getMyHTML des de l’element que desencadena l’acció.
Ex.


onClick="javascript:getMyHTML('cosAtles.php?
               idComarca='+idComarca,'cos')"

I ja està . Realment el procediment és molt evident i fà cil d’entendre. Ara el que cal és saber-ho aplicar i sobretot, no caure en l’abús, ja que per alguns llocs Ajax pot ser una gran solució, però per altres una floritura que perjudica més que ajudar.

NOTA: El codi l’he tret de “dutchcel.nl”:http://dutchcelt.nl/weblog/article/ajax_for_weblogs/ que és d’on l’han tret la majoria de pà gines que han posat exemples d’Ajax. Per colgeocat he fet una versió partint d’aquest script.

NOTA 2: Existeix una llibreria anomenada “RICO”:http://www.openrico.org que inclouen l’ajax. Només cal crear l’objecte i cridar-lo. A més, aquesta llibreria inclou altres metodes per simplicar la creació d’scripts amb DHTML.