AJAX - XMLHttpRequest

L'objet XMLHttpRequest est la clé d'AJAX. Il est disponible depuis la sortie d'Internet Explorer 5.5 en juillet 2000, mais n'a été entièrement découvert que lorsque AJAX et Web 2.0 en 2005 sont devenus populaires.

XMLHttpRequest (XHR) est une API qui peut être utilisée par JavaScript, JScript, VBScript et d'autres langages de script de navigateur Web pour transférer et manipuler des données XML vers et depuis un serveur Web à l'aide de HTTP, établissant un canal de connexion indépendant entre le côté client d'une page Web et Du côté serveur.

Les données renvoyées par les appels XMLHttpRequest seront souvent fournies par des bases de données dorsales. Outre XML, XMLHttpRequest peut être utilisé pour récupérer des données dans d'autres formats, par exemple JSON ou même du texte brut.

Vous avez déjà vu quelques exemples sur la façon de créer un objet XMLHttpRequest.

Vous trouverez ci-dessous quelques-unes des méthodes et propriétés avec lesquelles vous devez vous familiariser.

Méthodes XMLHttpRequest

  • abort()

    Annule la demande en cours.

  • getAllResponseHeaders()

    Renvoie l'ensemble complet des en-têtes HTTP sous forme de chaîne.

  • getResponseHeader( headerName )

    Renvoie la valeur de l'en-tête HTTP spécifié.

  • open( method, URL )

  • open( method, URL, async )

  • open( method, URL, async, userName )

  • open( method, URL, async, userName, password )

    Spécifie la méthode, l'URL et d'autres attributs facultatifs d'une demande.

    Le paramètre de méthode peut avoir la valeur "GET", "POST" ou "HEAD". D'autres méthodes HTTP telles que "PUT" et "DELETE" (principalement utilisées dans les applications REST) ​​peuvent être possibles.

    Le paramètre "async" spécifie si la demande doit être traitée de manière asynchrone ou non. "true" signifie que le traitement du script se poursuit après la méthode send () sans attendre de réponse, et "false" signifie que le script attend une réponse avant de continuer le traitement du script.

  • send( content )

    Envoie la demande.

  • setRequestHeader( label, value )

    Ajoute une paire étiquette / valeur à l'en-tête HTTP à envoyer.

Propriétés XMLHttpRequest

  • onreadystatechange

    Un gestionnaire d'événements pour un événement qui se déclenche à chaque changement d'état.

  • readyState

    La propriété readyState définit l'état actuel de l'objet XMLHttpRequest.

    Le tableau suivant fournit une liste des valeurs possibles pour la propriété readyState -

Etat La description
0 La demande n'est pas initialisée.
1 La demande a été configurée.
2 La demande a été envoyée.
3 La demande est en cours.
4 La demande est terminée.

readyState = 0 Après avoir créé l'objet XMLHttpRequest, mais avant d'avoir appelé la méthode open ().

readyState = 1 Après avoir appelé la méthode open (), mais avant d'avoir appelé send ().

readyState = 2 Après avoir appelé send ().

readyState = 3 Une fois que le navigateur a établi une communication avec le serveur, mais avant que le serveur n'ait terminé la réponse.

readyState = 4 Une fois la demande terminée et les données de réponse ont été complètement reçues du serveur.

  • responseText

    Renvoie la réponse sous forme de chaîne.

  • responseXML

    Renvoie la réponse au format XML. Cette propriété renvoie un objet de document XML, qui peut être examiné et analysé à l'aide des méthodes et propriétés de l'arborescence de nœuds DOM du W3C.

  • status

    Renvoie l'état sous forme de nombre (par exemple, 404 pour "Non trouvé" et 200 pour "OK").

  • statusText

    Renvoie l'état sous forme de chaîne (par exemple, "Non trouvé" ou "OK").