Axios pour JavaScript (Node.js) : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce qu'Axios et pourquoi en a-t-on besoin ?

\n\n

Axios est une bibliothèque JavaScript puissante et populaire pour effectuer des requêtes HTTP. Elle fonctionne à la fois dans le navigateur et dans l'environnement Node.js, offrant une API unique et pratique basée sur Promise. Si vous devez envoyer une requête GET à une API, charger des données sur le serveur via POST ou traiter une réponse au format JSON, Axios le fait avec élégance et efficacité.

\n\n

Pourquoi utiliser Axios plutôt que le fetch intégré ou XMLHttpRequest ?

\n
    \n
  • Traitement automatique du JSON : Axios convertit automatiquement les réponses en JSON, vous évitant d'avoir à appeler response.json().
  • \n
  • Intercepteurs (Interceptors) : Vous pouvez facilement ajouter une logique globale pour toutes les requêtes (par exemple, les jetons d'authentification) ou les réponses (par exemple, la gestion des erreurs).
  • \n
  • Annulation des requêtes : Prise en charge intégrée de l'annulation des requêtes via AbortController.
  • \n
  • Protection contre les CSRF : Gestion automatique des jetons XSRF pour améliorer la sécurité.
  • \n
  • Progression du chargement : Possibilité de suivre la progression de l'envoi et de la réception des données.
  • \n
  • Gestion pratique des erreurs : Messages d'erreur plus informatifs et possibilité de distinguer facilement les statuts des réponses.
  • \n
  • Prise en charge des anciens navigateurs : Contrairement à fetch, Axios fonctionne dans Internet Explorer 11 et d'autres navigateurs obsolètes.
  • \n
\n\n

Installation

\n\n

L'installation d'Axios dans un projet Node.js ou un projet frontend (via npm/yarn/pnpm) se fait avec une seule commande :

\n\n
# Installation via npm (recommandée)\nnpm install axios\n\n# Installation via yarn\nyarn add axios\n\n# Installation via pnpm\npnpm add axios\n
\n\n

Pour une utilisation dans le navigateur, vous pouvez également inclure Axios via un CDN :

\n\n
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>\n
\n\n

Démarrage rapide

\n\n

Après l'installation, vous pouvez immédiatement commencer à faire des requêtes. Voici un exemple simple d'une requête GET vers une API publique :

\n\n
// Importation de la bibliothèque (pour Node.js ou les projets modulaires)\nimport axios from 'axios';\n\n// Effectuer une requête GET vers l'API JSONPlaceholder\naxios.get('https://jsonplaceholder.typicode.com/posts/1')\n  .then(response => {\n    console.log('Statut de la réponse :', response.status);\n    console.log('Données :', response.data);\n  })\n  .catch(error => {\n    console.error('Erreur de requête :', error.message);\n  });\n
\n\n

Ce code enverra une requête GET, recevra la réponse et affichera son statut ainsi que son corps (déjà automatiquement parsé du JSON en objet JavaScript).

\n\n

Méthodes et fonctions principales

\n\n

Axios fournit des méthodes d'encapsulation pratiques pour toutes les méthodes HTTP principales. Chacune d'elles retourne une Promise.

\n\n

1. axios.get(url, config?)

\n

Ce qu'elle fait : Exécute une requête HTTP GET pour récupérer des données du serveur.

\n

Paramètres :

\n
    \n
  • url (string) — URL de la requête.
  • \n
  • config (object, facultatif) — Objet de configuration Axios (par exemple, headers, params pour la chaîne de requête, timeout).
  • \n
\n

Exemple :

\n
// Requête avec paramètres de requête\naxios.get('https://api.example.com/users', {\n  params: {\n    page: 2,\n    limit: 10\n  },\n  headers: {\n    'Authorization': 'Bearer my-token'\n  }\n})\n.then(response => {\n  console.log(response.data);\n});\n
\n\n

2. axios.post(url, data?, config?)

\n

Ce qu'elle fait : Exécute une requête HTTP POST pour envoyer des données au serveur (généralement pour créer une nouvelle ressource).

\n<

Recommendations