Site A.T.L.A.N.T.I.C-83
COURS = Programmation AJAX (Chapitre_3) - VERSION: 1.0 (M.A.J: 29/09/11)
- AUTEUR(s): Bernard GIACOMONI - Vanessa GIACOMONI
Ecran large mobile
Retour
sommaire cours

III.PROGRAMMATION DE PAGES WEB AJAX

III.1.OBJECTIFS ET PLAN DU CHAPITRE:


Ce chapitre est consacr l'tude du fonctionnement de la classe javascript XMLHttpRequest, et celle de son utilisation dans le contexte d'un site web. L'utilisation de cette classe est, en effet, la seule relle spcificit de la programmation AJAX.


Aprs quelques gnralits sur le fonctionnement de la classe XMLHttpRequest et sur les modalits de son utilisation, le chapitre tudie en dtail les diffrentes ressources offertes par cette classe (attributs et mthodes). Le chapitre ne ncessite qu'une connaissance basique de la programmation "objet" (instanciation d'un objet partir d'une classe, notions d'attributs et de mthodes). Les personnes qui dsirent se familiariser avec ces notions peuvent consulter la documentation en ligne:



III.2.GENERALITES SUR LA CLASSE XMLHttpRequest:


III.2.1.CONTEXTE D'UTILISATION:

Les objets de la classe XMLHttpRequest ne peuvent tre crs et utiliss que dans des scripts javascript. Ceux-ci s'excutent dans le contexte d'un navigateur install sur un client web. Il est donc ncessaire que l'excution des scripts javascript soit autorise par l'utilisateur de ce navigateur.


III.2.2.CARACTERISTIQUE PRINCIPALE:

La particularit fonctionnelle principale des objets de la classe est de permettre au navigateur de rcuprer des donnes en provenance du serveur sans utiliser le mcanisme de rechargement de page associs la validation des liens hypertextes ou des boutons "submit" des formulaires HTML: l'objet permet d'mettre vers le serveur une requte HTTP et de rcuprer la rponse cette requte sans que le navigateur dclenche le mcanisme classique de changement de la page web en cours. Le contenu renvoy par le serveur est simplement stock dans un attribut de l'objet et mis disposition du script appelant. Le dveloppeur peut alors, dans la suite de l'excution de ce script, faire de ce contenu l'utilisation qui lui convient, dans les limites des possibilits offertes par javascript.


III.2.3.CREATION D'UN OBJET DE LA CLASSE XMLHttpRequest:

Pour pouvoir utiliser des objets de la classe XMLHttpRequest, il faut dans un premier temps instancier ces objets partir de cette classe. Cette instanciation est obtenue par le classique oprateur "new". Cependant, suivant le navigateur utilis, il peut exister une diffrence dans la programmation. En effet:
  • Avec tous les navigateurs autres qu'Internet Explorer, la classe XMLHttpRequest fait partie d'une bibliothque de base du langage javascript. L'instanciation d'un objet respecte donc la syntaxe classique suivante:
    Cration de l'objet XHR: var XHR = new XMLHttpRequest();
  • En revanche, sous Internet Explorer, la classe fait partie du plugin ActiveX. La cration de l'objet se fait donc de la manire suivante:
    Cration de l'objet XHR: XHR = new ActiveXObject("Microsoft.XMLHTTP");
La disponibilit de la bibliothque AJAX ne coule videmment pas de source pour tous les navigateurs. Il importe donc, avant toute utilisation de celle-ci, de s'assurer de son existence. Il suffira pour cela de tester dans le script d'appel la prsence de l'objet du D.O.M. (Document Object Model) window.ActiveXObject pour I.E. ou window.XMLHttpRequest pour les autres navigateurs. Ces tests permettront galement de dterminer le type de syntaxe employer pour l'instanciation de l'objet.


REMARQUE:
Notons que dans ces deux expressions, la chane "window" n'a aucun rapport avec le systme d'exploitation WINDOW de Microsoft: elle dsigne l'objet "window" du D.O.M.. Les exemples de programmation donns ici sont donc valables pour LINUX ou UNIX.


La mise en oeuvre de la classe XMLHttpRequest exige donc une squence d'instructions javascript semblable celle-ci:


// CREATION D'UN OBJET XMLHttpRequest suivant le type de navigateur:
// SI ( Le navigateur connait la classe XMLHttpRequest ) ALORS
if (window.XMLHttpRequest)
{
XHR = new XMLHttpRequest(); // On cre l'objet XMLHttpRequest dans un navigateur # I.E.
}
// SINON SI ( Le navigateur connait la classe ActiveXObject ) ALORS
else if (window.ActiveXObject)
{
XHR = new ActiveXObject("Microsoft.XMLHTTP"); // On cre l'objet XMLHttpRequest dans un navigateur I.E.
}
// SINON
else
{
// XMLHttpRequest n'est pas support par le navigateur: on le signale.
window.alert("Votre navigateur n'est pas apte utiliser les objets XMLHttpRequest.");
// Ici, il faudra peut tre terminer le script, puisque la classe n'est pas supporte par le navigateur...
// FINSI
}
.....
// Suite du traitement (lancement de l'change...)
.....


III.3.UTILISATION DE LA CLASSE XMLHttpRequest:


Cette section ne dtaille que l'utilisation des attributs et mthodes les plus utiliss. Pour une description complte des proprits de la classe, voir le sous-chapitre III.5.

III.3.1.OUVERTURE D'UN ECHANGE (METHODE OPEN):

Avant tout change AJAX, il est ncessaire d'ouvrir l'change HTTP. En effet, ce protocole est en mode "connect". Il exige donc, en pralable tout transfer de donnes, de dfinir les caractristiques de cet change, et en particulier:
  • Le type de requte HTTP qui va tre utilise pour l'interrogation du serveur (GET, POST ou HEAD).
  • L'URL du fichier que le serveur doit expdier au client
  • Le mode de droulement de l'change (synchrone ou asynchrone).
C'est la mthode OPEN qui permet d'ouvrir un change. La syntaxe d'appel est la suivante:
XHR.open(<"GET"|"POST">, <URL du document>, <true/false>, [,user, password] );


REMARQUES:
  • L'URL doit pointer sur un document dont le type est compatible avec celui d'une "page web" (HTML, PHP, XML, etc.)
  • Pour fonctionner en mode asynchrone, le troisime argument devra tre la valeur true
  • Pour fonctionner en mode synchrone, le troisime argument devra tre la valeur false
  • User et password peuvent tre omis si l'accs au fichier serveur n'est pas scuris par mot de passe.


EXEMPLES:


//Ouverture de l'change d'une requte GET visant le tlchargement de la page MaPage.php hberge par le site http://www.MonSite.com, en mode synchrone (XHR est l'objet XLMHttpRequest cr prcedemment):
XHR.open("GET", "http://www.MonSite.com/MaPage.php" ,false );


//Ouverture de l'change d'une requte POST visant le tlchargement de la page SaPage.html hberge par le site http://www.SonSite.com, en mode asynchrone et avec les identifiants de connexion "MonId" et "MonPasswd" (XHR est l'objet XLMHttpRequest cr prcedemment):
XHR.open("POST", "http://www.SonSite.com/SaPage.php", true, "MonId", "MonPasswd" );



III.3.2.PARTICULARISATION DES EN-TETES D'ECHANGE (METHODE setRequestHeader):

La mthode setRequestHeader permet de particulariser les headers d'changes des requtes HTTP GET ou POST dclenche en fixant la valeurs de certains de leurs champs. La syntaxe est la suivante:


XHR.setRequestHeader( <Nom du champ>, <Valeur du champ> );
(Les noms de champ et le format des valeurs font partie de la dfinition des headers du protocole HTTP).


EXEMPLE:
// L'appel suivant permet de spcifier l'encodage utilis pour les donnes changes:
XHR.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );


III.3.3.ENVOI D'UNE REQUETE DE TELECHARGEMENT AU SERVEUR (METHODE SEND):

Une fois l'change initialis, l'envoi de la requte au serveur est dclench par la mthode SEND, dont voici la syntaxe:
XHR.send( <Liste des arguments de la requte> );


L'argument "liste des arguments" est une chane de caractres formate suivant les mmes rgles qu'une liste d'arguments associs une URL: <nom_arg1=valeur_arg1> & <nom_arg2=valeur_arg2> &...& <nom_argN=valeur_argN>. Cette liste d'arguments sera intgre la requte GET ou POST expdie vers le serveur.


Le choix du mode de fonctionnement (synchrone ou asynchrone), dfini par la mthode OPEN, influe sur le comportement de la mthode SEND:
  • En mode SYNCHRONE, la mthode SEND bloque l'excution du script aprs l'mission de la requte, jusqu' la rception de la rponse du serveur. De ce fait, l'affichage de la page web est galement bloqu pendant cette dure et l'utilisateur "perd la main" jusqu' l'arrive de la rponse.
  • En mode ASYNCHRONE, l'excution du script reprend ds que la requte est mise. L'affichage de la page web et la prise en compte des interactions avec l'utilisateur continuent donc pendant l'change client-serveur: l'utilisateur "garde la main".
EXEMPLE:
Aprs l'instruction:
XHR.open("GET", "http://www.MonSite.com/MaPage.php", false );
L'instruction:
XHR.send ( "marque=renault&type=megane" );
dclenchera l'envoi vers le serveur d'une requte GET dont l'URL complte sera:
"http://www.MonSite.com/MaPage.php?marque=renault&type=megane"


III.3.4.RECEPTION EN MODE SYNCHRONE (ATTRIBUTS ResponseText et ResponseXML):

Lorsque la valeur du troisime argument de la mthode OPEN est "false", l'change se droule en mode SYNCHRONE. Nous avons vu que dans ce mode de fonctionnement, l'excution du programme javascript est bloque jusqu' la rception du fichier point par l'URL figurant en deuxime argument. A la rception de ces donnes, elles sont stockes dans des attributs de l'objet XHR:
  • Si le fichier appel est un fichier XML, son contenu est stock dans l'attribut responseXML
  • Si le fichier appel est un fichier HTML, son contenu est stock dans l'attribut responseText.
L'excution du script reprend alors et le dveloppeur peut rcuprer les donnes transmises (dansXHR.ResponseXML, si un fichier XML a t transmis ou bien dans XHR.ResponseText, si c'est un fichier HTML qui a t transmis).


REMARQUES:
  • Le fichier reu est un fichier HTML dans le cas o la cible de l'URL est un fichier HTML, mais aussi dans le cas o celle-ci est un fichier de script que le traitement du serveur va convertir en HTML (ex: fichier PHP).
  • Dans tous les cas, le fichier reu sera un fichier texte (HTML ou XML).
  • Si le contenu reu est un fichier XML, les arguments et contenus des diffrents noeuds dfinis dans XHR.ResponseXML pourront tre accds directement par les fonctions du D.O.M.


EXEMPLES:


// La squence suivante permet de lire un fichier HTML sur le serveur en mode asynchrone et d'afficher son contenu dans une fentre:
XHR.open("GET","http://www.MonSite.com/MaPage.html", false );
XHR.send( "" );
// Ici, l'excution est mise en arrt jusqu' rception des donnes...
window.alert(XHR.responseText);


// La squence suivante fait de mme pour un fichier XML:
XHR.open("GET","http://www.MonSite.com/MaPage.xml", false );
XHR.send( "" );
...ici, l'excution est mise en arrt jusqu' rception des donnes...
window.alert(XHR.responseXML);


III.3.5.RECEPTION EN MODE ASYNCHRONE (ATTRIBUT onreadystatechange):

Nous avons vu qu'en mode asynchrone l'excution du script n'tait pas interrompue par la mthode SEND. Il est donc indispensable de disposer d'un mcanisme permettant au dveloppeur de dtecter l'arrive de la rponse du serveur. Ce mcanisme est un gestionnaire d'vnement particulier, associ l'attribut onreadystatechange.


Tout gestionnaire d'vnement peut tre dcrit comme un mcanisme logiciel, en gnral associ un pilote de priphrique, et charg de surveiller l'arrive d'un vnement interne ou externe la machine, puis de "prvenir" des processus logiciels en cours d'excution de cette arrive. Lorsqu'un processus logiciel doit tre prvenu de la survenue d'un vnement, il suffit que le dveloppeur fournisse au gestionnaire concern un "point d'entre" dans ce processus. Ce point d'entre est, la plupart du temps, l'adresse d'un sous-programme de ce processus (une fonction, une mthode...) charg de traiter l'vnement.


Dans le cas qui nous occupe, la classe XMLHttpRequest se charge de traiter le paramtrage du gestionnaire. Le dveloppeur se contente donc de fournir son objet XMLHttpRequest, dans l'attribut onreadystatechange, l'adresse de ce "point d'entre": il s'agit en fait du nom de la fonction que le dveloppeur dsire voir excuter lors de l'arrive de la rponse du serveur.


Le schema ci-dessous matrialise le traitement de la rception des donnes dans le cas d'un change asynchrone:



interaction entre visiteur et page web


COMMENTAIRES:
Sur ce schema, nous voyons apparatre:
  • A gauche, les couches matrielles de la machine cliente. Celles-ci sont capables de dtecter les signaux en provenance de la priphrie (en particulier les messages et requtes en provenance du rseau) et de les transformer en vnements grables par le logiciel.
  • Au centre, un gestionnaire d'vnement. Il s'agit d'un logiciel qui peut tre "rveill" (lanc) par le matriel lorsqu'un vnement survient.
  • Le gestionnaire d'vnement a accs une liste de "points d'entre" activer lorsque l'vnement survient. Cette liste est galement accessible aux processus utilisateurs, qui peuvent y charger des adresses de points d'entre.
  • Lorsque le dveloppeur d'un processus utilisateur veut que celui-ci soit inform de la survenue d'un vnement, il lui suffit d'incorporer dans le processus un segment de programme qui charge la liste des points d'entres avec l'adresse d'une de ses fonctions internes. Ici, par exemple, le Processus 1 charge dans la liste l'adresse de la fonction f1, le Processus 2 charge dans la liste l'adresse de la fonction f2. Dans le cas d'ajax, il suffit que le dveloppeur charge le nom de la fonction activer dans l'attribut onreadystatechange
  • Lorsque survient l'vnement (par exemple, la rception de la rponse du serveur), le matriel "rveille" le gestionnaire d'vnement. Celui-ci active alors tous les points d'entre figurant dans sa liste (ici, f1, f2, f3...). Ces fonctions sont alors excutes et accomplissent, pour leurs processus respectifs, les traitements prvus par le dveloppeur.


Le gestionnaire d'vnement li XMLHttpRequest ne se contente pas de grer uniquement l'venement de rception de la rponse du serveur. En fait, il nous renseigne sur toutes les phases de la transaction, au moyen d'un autre lment de la classe XMLHttpRequest, l'attribut readyState: chaque phase de la transaction, le "point d'entre" est appel avec une valeur de readyState diffrente:
  • SI readyState = 1: PHASE 1: l'change n'est pas initialis
  • SI readyState = 2: PHASE 2: Les donnes sont en cours de rception
  • SI readyState = 3: PHASE 3: l'change est suffisamment avanc pour que l'utilisateur puisse accder aux donnes
  • SI readyState = 4: PHASE 4: les donnes sont entirement disponibles.
Il sera donc ncessaire, dans la fonction correspondant au point d'entre, de tester la valeur de readyState avant de lancer le traitement des donnes reues (il faudra que readyState soit au moins gal 3). Comme dans le cas d'un change synchrone, ces donnes seront trouves dans les attributs responseXML ou ResponseText.



III.4.EXEMPLE DE PROGRAMMATION AJAX:


III.4.1.PRINCIPE:

L'exemple prsent ci-dessous consiste afficher dans un cadre le contenu d'un fichier HTML situ sur le serveur (une simple liste). L'affichage est obtenu par un "clic" sur ce cadre. Le traitement des donnes reues a volontairement t rduit au minimum (un simple remplissage du cadre) de faon concentrer l'attention sur la programmation du mcanisme AJAX. Les donnes afficher sont contenues dans le fichier du serveur "./Rep_Chapitre_2/Contenu_Exemple_3_1.html". Il s'agit d'une simple liste:
<!-- Fichier Contenu_Exemple_3_1.html -->
<ul>
	<li>Janvier</li>
	<li>Fvrier</li>
	<li>Mars</li>
	<li>Avril</li>
	<li>Mai</li>
	<li>Juin</li>
	<li>Juillet</li>
	<li>Aot</li>
	<li>Septembre</li>
	<li>Octobre</li>
	<li>Novembre</li>
	<li>Dcembre</li>
</ul>
		


III.4.2.ORGANISATION GENERALE:

Outre la page principale en html qui affichera le cadre, le logiciel va se prsenter sous la forme d'un fichier javascript (JS_Exemple_3_1.js) dcrivant une classe GestionAjax munie d'un constructeur ( GestionAjax() ), auquel reviendra la tche de crer l'objet XMLHttpRequest, et de 2 mthodes:
  • Une mthode "Envoi", qui sera appele par l'vnement "clic souris" sur le cadre et qui permettra d'mettre vers le serveur une requte AJAX GET en mode asynchrone.
  • Une mthode "Reception", qui sera appele par le gestionnaire de l'vnement rception et qui permettra d'afficher le contenu reu dans le cadre.
Nous aurons donc crer 3 fichiers: index.html, Contenu.html et JS.js, que nous placerons dans le sous-rpertoire "Exemple" de la racine de notre serveur.


III.4.3.PAGE PRINCIPALE (fichier index.html):


Voici le contenu de cette page. On remarquera le petit script ajax directement intgr dans le code html: il permet de crer un objet GestionAjax. Au cours de cette cration, un objet de type XMLHttpRequest est cre. Le lancement de ce code a t plac ici car il suffit de crer l'objet une fois (et non chaque mission de requte). On remarquera galement que l'vnement onClick a t ajout la balise crant le cadre remplir et que l'vnement active la mthode "Envoi" de l'objet GestionAjax.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Exemple de programmation AJAX</title>
		<script type="text/javascript" src="JS_Exemple_3_1.js"></script>
				
		<script>
			// Cration de l'objet GestionAjax: le constructeur cre lui-mme un objet XMLHttpRequest
			var ObjGestionAjax = new GestionAjax ( Envoi, Reception ); // Cration d'un objet GestionAjax
		</script>
	</head>
	
	<body>
		<p style="margin: auto; text-align: center">Pour afficher, cliquer dans le cadre ci-dessous:</p>
		<div  id="Affichage"  style="margin: auto; text-align: center; width: 200px; min-height: 100px; border: 1px solid black;" 
		onclick="ObjGestionAjax.Envoi();">
		</div> 				
	</body>
</html>
			

III.4.4.CONSTRUCTEUR DE LA CLASSE GestionAjax (fichier JS.js):


Le rle de ce constructeur est:
  • De dfinir l'attribut XHR de la classe
  • De dfinir les deux mthodes de la classe (Envoi et Reception)
  • Puis, d'instancier un objet de la classe XMLHttpRequest et de placer une rfrence cet objet dans l'attribut XHR.
Nous placerons le contenu suivant dans le fichier JS.js:
//----------------------------------------------------------------------------------------------
// Fichier: JS_Exemple_3_1_GestionAjax.js
// Constructeur de la classe GestionAjax.
// Le constructeur tente, en fonction du type de navigateur, de crer un objet XMLHttpRequest.
// Si la cration est russie, l'objet est point par l'attribut XHR et la fonction retourne 0
// Sinon, XHR contient null
//--------------------------------------------------------------------------------------------
function GestionAjax ( Envoi, Reception )
{
	// DECLARATION D'ATTRIBUTS
	this.XHR = null; 
	
	// DECLARATION DE METHODES
	this.Envoi 		= Envoi;
	this.Reception 	= Reception;
	
	// CREATION D'UN OBJET XMLHttpRequest	
	// Tenter de crer l'objet XHR en fonction du navigateur utilis
	if (window.XMLHttpRequest) // Firefox
	{
		this.XHR = new XMLHttpRequest(); 
	}
	else if (window.ActiveXObject) // Internet Explorer 
	{
		this.XHR = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
	else 
	{
		// Signaler que XMLHttpRequest n'est pas support par le navigateur 
		window.alert("Votre navigateur n'est quip pour utiliser les objets XMLHttpRequest."); 
	} 
}
			

III.4.5.METHODE Envoi (fichier JS_Exemple_3_1.js):


Cette mthode permet de declencher l'envoi d'une requte HTTP de type GET vers le serveur, en mode asynchrone.
Nous placerons le contenu suivant dans le fichier JS_Exemple_3_1.js, la suite du contenu existant:
//--------------------------------
// Fichier: JS_Exemple_3_1.js (Suite)
// Methode Envoi
//--------------------------------
function Envoi ()
{
	// Ouverture de l'change, requte GET, URL=Contenu.html, mode asynchrone.
	this.XHR.open("get", "Dep_Chapitre_3/Contenu_Exemple_3_1.html", true);
	
	// Choisir l'encodage correspondant au traitement choisi	
	this.XHR.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );

	// Connexion l'vnement de rception  la fonction de traitement
	this.XHR.onreadystatechange = Rec;	// Connexion  du gestionnaire d'vnement de rception  une fonction exterieure  
						// la classe. Cette fonction appellera la mthode Reception (l'appel direct de la 
						// methode ne fonctionne pas!!!)	
	// Envoi de la requte
	this.XHR.send( "" ); // envoi de la requte avec une liste d'arguments vide 
}			
			

III.4.6.METHODE Reception (fichier JS_Exemple_3_1.js):


Cette mthode permet de traiter l'vnement de rception de la rponse du serveur la requte AJAX. Il faut noter qu'appeler directement cette methode par le gestionnaire d'vnement (en programmant dans la fonction "Envoi" l'instruction "this.XHR.onreadystatechange = this.Reception;" semble ne pas fonctionner. Pour pallier cet inconvnient, on utilise ici une fonction intermdiaire non dclare comme une mthode: la fonction "Rec", qui elle-mme appelle Reception.
Nous placerons le contenu suivant dans le fichier JS_Exemple_3_1.js, la suite du contenu existant:
//--------------------------------
// Fichier: JS_Exemple_3_1_.js
// Methode Reception
//--------------------------------
function Reception ()
{
	// SI ( L'tat de l'objet XHR est "complte") ALORS Insrer le code HTML reu dans le cadre "Affichage"
	if( this.XHR.readyState == 4 ) 
	{
		document.getElementById ( "Affichage" ).innerHTML = this.XHR.responseText; 
	// FINSI
	}	
}

//-------------------------------------------------------------------------------------------------
// Cette fonction, connecte directement au gestionnaire d'vnement, sert de relais pour l'appel
// de la mthode Reception. En effet, l'appel direct d'une mthode par un gestionnaire d'vnement
// ne semble pas fonctionner !!!
//------------------------------------------------------------------------------------------------- 
function Rec()
{
	ObjGestionAjax.Reception();
}
			

III.4.7.RESULTATS:


Voici l'affichage donn par l'exemple (avant le clic sur le cadre):


Pour afficher, cliquer dans le cadre ci-dessous:



En cliquant dans le cadre, on dclenche la transaction client-serveur AJAX et l'affichage de la liste contenue dans le fichier "Contenu.html" dans ce cadre. On remarquera que l'change s'effectue sans que le navigateur signale quoi que ce soit, et qu'il est beaucoup plus rapide qu'un appel de page classique, puisque les donnes changes se rduisent ici cette liste et non la page complte.


III.5.RECAPITULATION DES PROPRIETES DE LA CLASSE XMLHttpRequest:


Les proprits principales de la classe XMLHttpRequest sont rsumes dans les tableaux suivants:


ATTRIBUTS


NOM DESCRIPTION
onreadystatechange Gestionnaire des vnements de changement d'tat de l'change entre client et serveur. En mode asynchrone, ce gestionnaire doit tre associ une fonction de traitement de la page tlcharge.
readyState Etat de l'objet:
  • =1 =>Echange non initialis
  • =2 =>Donnes en cours de chargement
  • =3 =>Charg suffisamment pour que l'utilisateur puisse interagir avec lui
  • =4 =>Echange termin: donnes entirement disponibles
responseText Rponse la requte sous la forme d'une chane de caractres (le fichier point par l'URL de la requte n'est pas un fichier XML)
responseXML Rponse la requte sous la forme d'un contenu XML(le fichier point par l'URL de la requte est un fichier XML).
status Code numrique de rponse du serveur HTTP
statusText Message associ au code de rponse.


METHODES


PROTOTYPE PARAMETRES D'APPEL DESCRIPTION
XMLHttpRequest () aucun Constructeur de la classe pour les navigateurs autres que I.E.
ActiveXObject("Version") Version:
"Msxml2.XMLHTTP" ou "Microsoft.XMLHTTP"
Constructeur de la classe pour les navigateurs I.E.
open ( Mthode, URL [, Mode [, User, passwd ] ] );
  • Mthode: "HEAD", "GET" ou "POST".
  • URL: URL de la page appeler.
  • Mode: 0=> synchrone, 1=> asynchrone
  • User: nom d'utilisateur.
  • Passwd: mot de passe.
Prpare une requte en indiquant la mthode, l'URL, la drapeau de synchronisation, le nom d'utilisateur et le mot de passe.
send ( Arguments ); Arguments: chane de description des arguments de la requte (ex: "A=3&B=4&C=-1" ) Envoie la requte prvue par OPEN avec la liste d'arguments fournie
getResponseHeader(EnTte) Entte: champ d'en-tte HTTP Renvoie la valeur d'un champ d'en-tte HTTP
getAllResponseHeaders() aucun Renvoie tout l'entte de la rponse sous forme de chane de caractres.



Retour accs cours Retour sommaire cours
FormateurGaucheRepos FormateurGaucheActif FormateurDroitRepos FormateurDroitActif