xmlHttpRequest : Communication avec le serveur

L'objet XMLHttpRequest permet d'envoyer des commandes POST et GET à un serveur HTTP, en particulier (mais pas uniquement) pour transmettre des documents XML entre le client et le serveur.

ExempleExécuter un fichier PHP avec des paramètres

1
var vXhr = new XMLHttpRequest();
2
vXhr.open("POST", "fichier.php" , false);
3
vXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
4
var vArgs="key1=" + encodeURIComponent(vValue1) + "&key2=" + encodeURIComponent(vValue2);
5
vXhr.send(vArgs);
1
<?php
2
$vParam1=$_POST['key1'];
3
$pParam2=$_POST['key2'];
4
...
5
?>

ExempleCharger un document XML sur le client

1
var vXhr = new XMLHttpRequest();
2
vXhr.open("GET", "fichier.xml", false);
3
vXhr.send(null);
4
vXml  vXhr.responseXML;

ExempleEnregistrer un document XML sur le serveur (via PHP)

1
var vXml = document.getElement... //un node DOM
2
var vTxt = (new XMLSerializer()).serializeToString(vXml);
3
var vArgs = "xml=" + encodeURIComponent(vTxt);
4
var vXhr = new XMLHttpRequest();
5
vXhr.open("POST", "saveXml.php", false);
6
vXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
7
vXhr.send(vArgs);
1
<?php
2
$xml= $_POST["xml"];
3
$dom = new DomDocument();
4
$dom->loadXML($xml);
5
$dom->save('src.xml');
6
?>

Syntaxe

1
eval(vXhr.responseText);

Permet au client d’exécuter une instruction JavaScript qui aura été générée par le serveur PHP (par exemple un compte-rendu d'exécution).