Zoom : le mécanisme de communication de l'objet XMLObject Fermer la fenêtre
Description

L'objet XMLObject est la brique logicielle du framework technique permettant de réaliser tous les traitements liés à la communication entre le client et le serveur. Entre ces deux tiers, il existe deux modes de communication :
  • Synchrone : le client attend passivement la réponse du serveur, son exécution est en suspend.
  • Asynchrone : le client attend activement la réponse du serveur, son exécution se poursuit dès l'envoi de la requête. Le traitement de la réponse du serveur sera lancé dynamiquement lorsque celle-ci arrivera jusqu'au client.

Dans une architecture de type AJAX (Asynchronous Javascript And Xml), c'est une communication en mode asynchrone qui devra être mise en oeuvre.

Le paramétrage du mode de communication utilisé par un objet XMLObject s'effectue via la méthode initAsynchrone().

Exemples

Les éléments écrits en vert mettent en évidence les liens entre les sources, les éléments en rouge les liens dans les sources.

Exemple de communication synchrone.

// Initialisation de la requête
var reqSynchrone = new XMLObject(null, null, "retourReq", "mesDonnees.xml", false);
reqSynchrone.initAsynchrone(false);

// Envoi de la requête
reqSynchrone.importXML();

// Affichage du message après le retour du serveur
alert (getDataElement(reqSynchrone.xmlDoc,"MESSAGE"));

// Fonction de traitement de la réponse serveur (vide)
function retourReq(){}



Exemple de communication asynchrone.
// Initialisation de la requête
var reqSynchrone = new XMLObject(null, null, "retourReq", "mesDonnees.xml", false);
reqSynchrone.initAsynchrone(true);

// Envoi de la requête
reqSynchrone.importXML();

// Suite du traitement ...
// .......................

// Fonction de traitement de la réponse serveur, appelé dynamiquement lors
// du retour serveur.

function retourReq(){
   
   // Affichage du message après le retour du serveur

   alert (getDataElement(reqSynchrone.xmlDoc,"MESSAGE"));
}



mesDonnees.xml
<PAGE>
    <MESSAGE>Message du serveur</VERSION>
</PAGE>