Soumission de données avec XMLHttpRequest post

Découvrez XMLHttpRequest POST ! Créez des applis web engageantes, intégrez des API, collaborez en temps réel et plus encore.

Louis Dupont

Louis Dupont

5 June 2025

Soumission de données avec XMLHttpRequest post

Dans le monde du développement web moderne, l'échange de données asynchrones entre le client et le serveur est un aspect crucial de la création d'applications dynamiques et réactives. L'un des outils fondamentaux qui permettent cette fonctionnalité est l'objet XMLHttpRequest, en particulier sa méthode POST. Bien que l'API XMLHttpRequest puisse sembler dépassée à l'ère des API plus modernes comme Fetch et Axios, comprendre ses principes de base est toujours essentiel pour tout développeur JavaScript.

La méthode POST de XMLHttpRequest vous permet d'envoyer des données de manière asynchrone à un serveur sans actualiser l'intégralité de la page web. Cette approche améliore l'expérience utilisateur en offrant un flux d'informations plus fluide et plus efficace, ce qui conduit finalement à de meilleures performances globales de l'application.

Configuration d'un XMLHttpRequest POST


Avant de plonger dans le code, examinons le processus de configuration de base pour une requête XMLHttpRequest POST :

  1. Créez une nouvelle instance d'objet XMLHttpRequest.
  2. Définissez la méthode de requête (POST) et le point de terminaison de l'URL.
  3. Configurez les en-têtes de requête, si nécessaire.
  4. Définissez la fonction pour gérer la réponse du serveur.
  5. Envoyez la requête avec la charge utile de données.
// 1. Create a new XMLHttpRequest instance
const xhr = new XMLHttpRequest();

// 2. Define the request method and URL
xhr.open('POST', '/api/endpoint', true);

// 3. Set request headers (if needed)
xhr.setRequestHeader('Content-Type', 'application/json');

// 4. Define the response handler
xhr.onreadystatechange = function() {
  if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
    // Handle the server response
    console.log(xhr.responseText);
  }
};

// 5. Send the request with data payload
const data = JSON.stringify({ name: 'John Doe', email: 'john@example.com' });
xhr.send(data);

Dans l'exemple ci-dessus, nous créons une nouvelle instance XMLHttpRequest, définissons la méthode POST et le point de terminaison de l'URL, définissons les en-têtes de requête appropriés et gérons la réponse du serveur dans le gestionnaire d'événements onreadystatechange. Enfin, nous envoyons la requête avec la charge utile de données au format JSON à l'aide de la méthode send().

Gestion des réponses et gestion des erreurs


Bien que l'envoi de la requête soit crucial, la gestion correcte de la réponse du serveur est tout aussi importante. Le gestionnaire d'événements onreadystatechange vous permet de surveiller la progression de la requête et de prendre les mesures appropriées en fonction des propriétés readyState et status.

xhr.onreadystatechange = function() {
  if (xhr.readyState === XMLHttpRequest.DONE) {
    if (xhr.status === 200) {
      // Successful response
      console.log(xhr.responseText);
    } else {
      // Error handling
      console.error('Request failed. Status:', xhr.status);
    }
  }
};

Dans l'exemple ci-dessus, nous vérifions le readyState pour nous assurer que la requête est terminée (XMLHttpRequest.DONE), puis nous examinons la propriété status pour déterminer le succès ou l'échec de la requête. Un code d'état de 200 indique généralement une réponse réussie, tandis que d'autres codes d'état peuvent indiquer diverses conditions d'erreur.

Envoi de données de formulaire


Bien que les exemples précédents se soient concentrés sur l'envoi de données JSON, XMLHttpRequest vous permet également d'envoyer des données de formulaire de manière transparente. Ceci est particulièrement utile lorsque vous travaillez avec des formulaires HTML traditionnels ou lorsque vous traitez des téléchargements de fichiers.

const formData = new FormData();
formData.append('name', 'John Doe');
formData.append('email', 'john@example.com');
formData.append('file', fileInput.files[0]);

xhr.open('POST', '/api/endpoint', true);
xhr.send(formData);

Dans cet exemple, nous créons une instance FormData et ajoutons les champs du formulaire à l'aide de la méthode append(). Nous pouvons même inclure des téléchargements de fichiers en ajoutant l'objet File à partir d'un élément <input type="file">. Enfin, nous envoyons l'objet FormData directement à l'aide de la méthode send().

Générer du code XMLHttpRequest avec Apidog

Apidog est une plateforme de développement d'API collaborative tout-en-un qui fournit une boîte à outils complète pour la conception, le débogage, le test, la publication et la simulation d'API. Apidog vous permet de créer automatiquement du code XMLHttpRequest pour effectuer des requêtes HTTP.

button

Voici le processus d'utilisation d'Apidog pour générer du code XMLHttpRequest :

Étape 1 : Ouvrez Apidog et sélectionnez nouvelle requête

Étape 2 : Entrez l'URL du point de terminaison de l'API auquel vous souhaitez envoyer une requête, entrez tous les en-têtes ou paramètres de chaîne de requête que vous souhaitez inclure avec la requête, puis cliquez sur "Design" pour passer à l'interface de conception d'Apidog.

Étape 3 : Sélectionnez "Générer le code client" pour générer votre code.

Étape 4 : Copiez le code généré et collez-le dans votre projet.

Utilisation d'Apidog pour envoyer des requêtes HTTP

Apidog offre plusieurs fonctionnalités avancées qui améliorent encore sa capacité à tester les requêtes HTTP. Ces fonctionnalités vous permettent de personnaliser vos requêtes et de gérer des scénarios plus complexes sans effort.

button

Étape 1 : Ouvrez Apidog et créez une nouvelle requête.

Apidog

Étape 2 : Trouvez ou entrez manuellement les détails de l'API pour la requête POST que vous souhaitez effectuer.

Apidog

Étape 3 : Remplissez les paramètres requis et toutes les données que vous souhaitez inclure dans le corps de la requête.

Apidog

Conclusion

Comme vous pouvez le constater, XMLHttpRequest POST est bien plus qu'un simple outil technique – c'est un véritable tournant qui ouvre un monde de possibilités aux développeurs web. Que vous construisiez des interfaces utilisateur dynamiques, que vous vous intégriez à des API puissantes ou que vous créiez la prochaine génération d'expériences web immersives, XMLHttpRequest POST est votre arme secrète.

Explore more

Comment utiliser Deepseek R1 en local avec Cursor

Comment utiliser Deepseek R1 en local avec Cursor

Apprenez à configurer DeepSeek R1 local avec Cursor IDE pour une aide au codage IA privée et économique.

4 June 2025

Comment exécuter Gemma 3n sur Android ?

Comment exécuter Gemma 3n sur Android ?

Apprenez à installer et exécuter Gemma 3n sur Android via Google AI Edge Gallery.

3 June 2025

Comment utiliser Claude Code avec GitHub Actions

Comment utiliser Claude Code avec GitHub Actions

Découvrez Claude Code avec GitHub Actions : revues de code, corrections de bugs, implémentation de fonctionnalités. Tutoriel pour développeurs.

29 May 2025

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API