Introdução
Cliente HTTP baseado em promessas para o navegador e node.js
O que é o Axios?
Axios é um cliente HTTP baseado em promessas para o node.js
e para o navegador. É isomórfico (= pode rodar no navegador e no node.js com a mesma base de código). No lado do servidor usa o código nativo do node.js - o módulo http
, enquanto no lado do cliente (navegador) usa XMLHttpRequest.
Recursos
- Faz XMLHttpRequest do navegador
- Faz requisições http do node.js
- Suporta a API de Promessas
- Intercepta requisições e respostas
- Transforma os dados de requisições e de respostas
- Cancela requisições
- Timeouts
- Serializa parâmetros de consulta com suporte para aninhamento
- Serializa automaticamente o corpo da requisição para:
- JSON (
application/json
) - Multipart / FormData (
multipart/form-data
) - Formulário codificado para URL (
application/x-www-form-urlencoded
)
- JSON (
- Posta formulários HTML como JSON
- Lida automaticamente com dados JSON em respostas
- Captura progresso da requisição em navegadores e node.js com informações extra (velocidade, tempo restante)
- Define limites de largura de banda no node.js
- Compatível com FormData e Blob (inclusive no
node.js
) - Suporta proteções contra XSRF no lado do cliente
Instalando
Usando o npm:
$ npm install axios
Usando o bower:
$ bower install axios
Usando o yarn:
$ yarn add axios
Usando o pnpm:
$ pnpm add axios
Usando a CDN do jsDelivr:
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
Usando a CDN do unpkg:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
Módulos CommonJs para importação direta via require (se a resolução automática falhar)
const axios = require('axios/dist/browser/axios.cjs'); // navegador
const axios = require('axios/dist/node/axios.cjs'); // node