C'est quoi AJAX

Surement pas un detergent!
AJAX, ou Asynchronous JavaScript And XMLXML et Javascript asynchrones ») est un terme qui évoque l'utilisation conjointe d'un ensemble de technologies couramment utilisées sur le Web.

A quoi ça sert

En gros, si je vous dit : Est-ce que je peux poster un formulaire sans recharger ma page sans faire de submit visible, et sans utlisé de frame invisible ou autre astuce ?
Avant on aurait dit non mais avec Ajax, je dis OUI !

Exemple


Cet exemple va vous afficher le code source de la page d'index du wiki, et ceux sans post, ni refresh.

Fonction

Cette fonction que j'ai écrite, vous simplifie l'utlisation d'ajax, voici le code :

javascript
function AJAXRequest(page,retfonc,methode,data) {
	var xhr_object = null;
	if(window.XMLHttpRequest) // Firefox
	   xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // Internet Explorer
	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else { // XMLHttpRequest non supporté par le navigateur
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	   return;
	}
	if (data=="")
		data=null;
	if(methode == "GET" && data != null) { 
	   page += "?"+data; 
	   data = null; 
	}
	xhr_object.open(methode, page, true);
	xhr_object.onreadystatechange = function() {
		if(xhr_object.readyState == 4) {
			var RetAjax=xhr_object.responseText;
			eval(retfonc+'(RetAjax);');
                }
	}
	if(methode == "POST")
	   xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr_object.send(data);
}

les paramêtres sont :

  • page : la page chargé qui va traité les variables
  • retfonc : la fonction javascript qui va etre appellée apres le traitement
  • methode : GET ou POST
  • data : les variables a envoyer

Par exemple : AJAXRequest('ville.php','ShowCity','POST',”codepst=13000”); Va appellé en POST la page ville.php. La variable trasmise est codepst=13000 et apres cet appel, la fonction ShowCity sera lancée. La fonction ShowCity, va recevoir un seul et unique paramêtre, qui est le texte de la page ville.php apres le traitement. donc si ville.php contenais :

php
<?php
 echo "toto"
?>

la fonction serais appelé comme suit : ShowCity('toto');

Liens