mercredi 30 mai 2012

[AJAX] T4: AJAx Construire une requête, pas à pas



Première étape: créer une instance

C'est juste une instance de classe classique mais deux options à essayer pour compatibilité avec les navigateurs.
1
2
3
4
5
6
7
8
if (window.XMLHttpRequest)    //  Objet standard
{
    xhr = new XMLHttpRequest();     //  Firefox, Safari, ...
}
else  if (window.ActiveXObject)      //  Internet Explorer
{
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
ou plus simplement, on peut utiliser les exceptions:
1
2
3
4
5
6
7
8
try
{
   xhr = new ActiveXObject("Microsoft.XMLHTTP"); // Essayer IE
}
catch(e)   // Echec, utiliser l'objet standard
{
  xhr = new XMLHttpRequest();
}

Seconde étape: attendre la réponse

Le traitement de la réponse et les traitements qui suivent sont inclus dans une fonction, et la valeur de retour de cette fonction sera assignée à l'attribut onreadystatechange de l'objet précédemment créé.
1
2
3
4
xhr.onreadystatechange = function()
{
 // instructions de traitement de la réponse
};
1
2
3
4
5
6
7
8
if (xhr.readyState == 4)
{
// Reçu, OK 
}
else
{
// Attendre...
}

Troisième étape: faire la requête elle-même

Deux méthodes de XMLHttpRequest sont utilisées:
open: commande GET ou POST, URL du document, true pour asynchrone.
send: avec POST seulement, données à envoyer au serveur.
La requête ci-dessous lit un document sur le serveur.
1
2
xhr.send(null);

Share:

0 commentaires:

Enregistrer un commentaire

Contributeurs

Membres

free counters