Comment utiliser l'objet XMLHttpRequest en javascript

Il peut sembler à première vue que le javascript de XMLHttpRequest

Sommaire

objet est intensément compliqué, mais il est vraiment pas si vous le prenez en dehors et de voir un peu à la fois. En réalité, la plupart des développeurs utilisent seulement quelques méthodes et propriétés bien connues. Cependant, il est tout à fait possible que les développeurs utilisent plus de fonctionnalités de cet objet si elles savaient qu'elles existaient.

Comment travailler avec la demande

Pour obtenir des ressources du serveur, vous devez faire une demande. Après tout, le serveur ne lit pas les esprits. Vous construisez une demande en utilisant des méthodes et des propriétés, puis vous utilisez le send () méthode pour transmettre la demande que vous avez construit. La liste suivante décrit les propriétés normalement associées aux demandes:

  • temps libre: Détermine le temps, en millisecondes, que la demande va continuer de tenter d'obtenir une ressource nécessaire à partir du serveur.

  • withCredentials: Indique que la demande devrait inclure les informations d'identification de l'utilisateur lorsqu'il est réglé sur vrai. Les pouvoirs permettent d'accéder à obtenir des ressources sur le serveur.

  • télécharger: Fournit le serveur avec un XMLHttpRequestUpload objet qui contient des données le serveur a besoin pour remplir une demande.

Maintenant que vous avez une meilleure idée de ce qui les propriétés sont disponibles pour faire une demande, il est temps de regarder les méthodes. Les méthodes suivantes sont généralement associées à faire une demande d'un certain type:

  • open (): Crée une nouvelle demande. La demande peut inclure un certain nombre d'arguments tels que définis dans la liste ci-dessous dans l'ordre que vous leur fournissez:

  • méthode: Détermine la méthode utilisée pour accéder à la ressource. Les deux choix sont valides GET et POST.

  • URL: Indique l'emplacement de la ressource sur le serveur.

  • asynchrone: Détermine si la demande est faite d'une manière synchrone ou asynchrone. L'appelant doit fournir une fonction de rappel lorsque ce drapeau est mis à vrai (pour une demande asynchrone).

  • nom d'utilisateur: Contient le nom de connexion de l'utilisateur pour l'accès aux ressources sécurisé.

  • mot de passe: Contient le mot de passe de l'utilisateur pour l'accès aux ressources sécurisé.

  • setRequestHeader (): Crée une paire nom / valeur à inclure dans l'en-tête de demande. Vous fournissez le nom et la valeur que deux arguments distincts que l'appel utilise pour créer l'entrée demande d'en-tête.




  • send (): Transmet la requête au serveur. Cela paraît simple, mais un certain nombre de fonctionnalités sont en place pour rendre le processus plus fiable. Vous pouvez lire sur l'ensemble du processus. Cependant, du point de vue d'un développeur, comment send () œuvres est pas aussi important que ce que send () retours. La send () méthode renvoie les données ou une erreur. Voici les quatre erreurs les plus courantes:

    • réseau: Quelque chose est arrivé d'arrêter la demande d'atteindre le serveur. Dans certains cas, une erreur Domain Name System (DNS) provoque la demande de se perdre avant d'atteindre le serveur. Dans d'autres cas, une erreur Transport Layer Security (TLS) se produit, ce qui signifie que votre application peut ne pas avoir les pouvoirs nécessaires.

    • avorter: L'utilisateur final a annulé la demande. Pour provoquer cette erreur, votre application doit appeler la abort () Procédé.

    • temps libre: Une demande a erré à la recherche de la ressource dont il a besoin et finalement abandonné. Les demandes ont une valeur de délai d'attente qui leur sont associés. Sinon, la demande pourrait continuer à chercher une ressource indéfiniment si ne existe pas cette ressource.

    • demande: Il ya un problème avec la demande. Vous avez normalement de creuser plus profondément pour savoir précisément quel est le problème. Cependant, il ya un certain nombre de causes communes, y compris: la demande d'une ressource inexistante, ne fournissant pas un argument requis, et fournir des informations de type incorrect.

    • abort (): Arrête l'exécution de la demande actuelle.

    • Comment travailler avec la réponse

      La XMLHttpRequest objet fournit également un certain nombre de propriétés de réponse et les méthodes que vous utilisez pour déterminer le succès ou l'échec d'une demande. Voici les propriétés que vous utilisez couramment lorsque vous travaillez avec cet objet:

      • statut: Retourne le code d'état HTTP. Un code d'état 200 signifie que la demande a réussi. Tout autre code reflète normalement une sorte de problème avec le processus de demande. Voici une liste des codes d'état.

      • statusText: Retourne le statut HTTP comme une valeur textuelle. Par exemple, un code d'état 200 retourne une valeur de texte de D'accord. Voici une liste de l'état des valeurs de texte et leurs codes associés.

      • readyState: Indique l'état actuel de traitement asynchrone. L'état peut être une de ces valeurs:

      • 0: Demande non initialisée

      • 1: Connexion au serveur établie

      • 2: Demande reçue

      • 3: Traitement de la demande

      • 4: Demande terminé et réponse est prête

    • responseType: Retourne la valeur de la Content-Type tête de réponse. Une application peut utiliser cette valeur pour déterminer comment réagir à le type de réponse que le serveur a envoyé. Les types de retour commun sont

      • "": Une chaîne vide indique que le type de retour est inconnue ou qu'une erreur a été commise et il n'y a aucune réponse à traiter.

      • ArrayBuffer: Les données sont sous la forme d'un tableau.

      • goutte: L'expéditeur a utilisé une Binary Large Object (BLOB) pour stocker les données.

      • document: Les données apparaissent information structurée dans un document XML. Normalement, le document est complet, plutôt que d'un fragment XML.

      • JSON: L'expéditeur a utilisé javascript Object Notation (JSON) pour encapsuler les données.

      • texte: L'information apparaît comme texte brut, ce qui peut signifier qu'il manque de contexte et la structure. Cependant, certains formats de texte sont structurées, telles que Comma Separated Variable (CSV).

      • réponse: Contient la réponse entière sans aucune interprétation comme un objet.

      • responseText: Contient seulement le texte d'une réponse lorsque le responseType valeur est "" (la chaîne vide) ou texte. Cette propriété renvoie rien pour l'autre responseType des valeurs.

      • responseXML: Ne contient que le document XML lorsque le responseType valeur est "" (la chaîne vide) ou document. Cette propriété renvoie rien pour l'autre responseType des valeurs.

      • Les méthodes d'intervention vous aider à interagir avec les données de réponse d'une certaine façon. Voici les méthodes d'intervention:

        • getResponseHeader (): Obtient une valeur d'en-tête de réponse spécifique de l'objet de réponse. Vous fournissez la valeur de l'en-tête de réponse que vous voulez, comme Content-Type, comme argument à la méthode. Il n'y a pas de têtes de réponse requis, et un serveur peuvent créer des en-têtes personnalisés.

        • getAllResponseHeaders (): Crée un tableau de toutes les têtes de réponse, sauf ceux qui sont répertoriés comme Set-Cookie ou Réglez-Cookie2.

        • overrideMimeType (): Indique la valeur de la Content-Type tête de réponse.


        » » » » Comment utiliser l'objet XMLHttpRequest en javascript