JavaScript:
Envoi d'une requête HTTP
How to:
En JavaScript moderne, on utilise fetch
pour les requêtes HTTP. C’est simple et promis-centric.
// GET Request.
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Une erreur est survenue:', error));
// POST Request.
fetch('https://api.example.com/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ key: 'value' }),
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Une erreur est survenue:', error));
Sortie attendue : Affiche les données récupérées en console.
Deep Dive
Avant, XMLHttpRequest
était le standard pour les requêtes HTTP. Mais c’était compliqué et moins élégant. fetch
est arrivé avec les promesses, simplifiant le code. Attention, fetch
ne rejette pas les promesses pour des réponses HTTP à statut d’erreur (comme 404 ou 500). Il faut vérifier response.ok
.
Pour de vieux navigateurs, il faut des polyfills ou revenir à XMLHttpRequest
. Avec Node.js, on utilise des modules comme axios
ou le récent node-fetch
.
See Also
- MDN Web Docs sur “Fetch” : fetch() - MDN
- Polyfill
fetch
pour la compatibilité : GitHub - whatwg-fetch - Node.js
node-fetch
: node-fetch - npm