Requête HTTP XML
Tous les navigateurs modernes ont un objet XMLHttpRequest intégré pour demander des données à un serveur.
L'objet XMLHttpRequest
L'objet XMLHttpRequest peut être utilisé pour demander des données à un serveur Web.
L'objet XMLHttpRequest est un rêve pour les développeurs , car vous pouvez :
- Mettre à jour une page Web sans recharger la page
- Demander des données à un serveur - après le chargement de la page
- Recevoir des données d'un serveur - après le chargement de la page
- Envoyer des données à un serveur - en arrière-plan
XMLHttpRequest Example
Lorsque vous saisissez un caractère dans le champ de saisie ci-dessous, une requête XMLHttpRequest est envoyée au serveur et des suggestions de noms sont renvoyées (du serveur) :
Exemple
L'exemple ci-dessus est expliqué dans les chapitres AJAX de ce tutoriel.
Envoi d'un XMLHttpRequest
Une syntaxe JavaScript commune pour l'utilisation de l'objet XMLHttpRequest ressemble beaucoup à ceci :
Exemple
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Typical action to be performed when the document is ready:
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "filename", true);
xhttp.send();
Exemple expliqué
La première ligne de l'exemple ci-dessus crée un objet XMLHttpRequest :
var xhttp = new XMLHttpRequest();
La propriété onreadystatechange spécifie une fonction à exécuter chaque fois que le statut de l'objet XMLHttpRequest change :
xhttp.onreadystatechange = function()
Lorsque la propriété readyState est 4 et que la propriété status est 200, la réponse est prête :
if (this.readyState == 4 && this.status == 200)
La propriété responseText renvoie la réponse du serveur sous forme de chaîne de texte.
La chaîne de texte peut être utilisée pour mettre à jour une page Web :
document.getElementById("demo").innerHTML = xhttp.responseText;
Vous en apprendrez beaucoup plus sur l'objet XMLHttpRequest dans les chapitres AJAX de ce tutoriel.
Anciennes versions d'Internet Explorer (IE5 et IE6)
Les anciennes versions d'Internet Explorer (IE5 et IE6) ne prennent pas en charge l'objet XMLHttpRequest.
Pour gérer IE5 et IE6, vérifiez si le navigateur supporte l'objet XMLHttpRequest, ou bien créez un ActiveXObject :
Exemple
if (window.XMLHttpRequest) {
// code for modern browsers
xmlhttp = new XMLHttpRequest();
}
else {
// code for old IE browsers
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}