Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
API Fetch
L'API Fetch fournit une interface pour récupérer des ressources (y compris sur le réseau). Elle remplaceXMLHttpRequest par une solution plus puissante et plus flexible.
Dans cet article
Concepts et usage
L'API Fetch utilise les objetsRequest etResponse (ainsi que d'autres éléments liés aux requêtes réseau), ainsi que des concepts associés comme CORS et la sémantique de l'en-tête HTTP Origin.
Pour effectuer une requête et récupérer une ressource, utilisez la méthodefetch(). Il s'agit d'une méthode globale dans les contextesWindow etWorker. Cela la rend disponible dans pratiquement tous les contextes où vous pourriez vouloir récupérer des ressources.
La méthodefetch() prend un argument obligatoire, le chemin vers la ressource à récupérer. Elle retourne une promesse (Promise) qui résout la réponse (Response) de cette requête — dès que le serveur répond avec les en-têtes —même si la réponse du serveur est un statut d'erreur HTTP. Vous pouvez aussi lui passer en option un objet d'optionsinit comme second argument (voirRequest).
Une fois qu'une réponse (Response) a été récupérée, plusieurs méthodes sont disponibles pour définir le contenu du corps et la façon dont il doit être manipulé.
Vous pouvez créer une requête et une réponse directement en utilisant les constructeursRequest() etResponse(), mais il est rare de le faire directement. Il est plus courant que leur création résulte des actions d'une autre API (par exemple,FetchEvent.respondWith() des service workers).
Pour en savoir plus sur l'utilisation des fonctionnalités de l'API Fetch, consultezUtiliser Fetch.
Fetch différé
L'APIfetchLater() permet à un·e développeur·euse de demander unfetch différé, qui peut être envoyé après une période de temps définie, ou lorsque la page est fermée ou quittée. VoirUtiliser un Fetch différé.
Interfaces
Window.fetch()etWorkerGlobalScope.fetch()La méthode
fetch()utilisée pour récupérer une ressource.Window.fetchLater()Utilisée pour effectuer une requête de récupération différée.
DeferredRequestInitReprésente l'ensemble des options pouvant être utilisées pour configurer une requête de récupération différée.
FetchLaterResultReprésente le résultat d'une demande de récupération différée.
HeadersReprésente les en-têtes de requête/réponse, permettant de les interroger et de prendre différentes décisions selon le résultat.
RequestReprésente une requête de ressource.
ResponseReprésente la réponse à une requête.
En-têtes HTTP
deferred-fetchContrôle lequota principal pour l'API
fetchLater().deferred-fetch-minimalContrôle lequota partagé des sous-frames inter-origines pour l'API
fetchLater().
Spécifications
| Specification |
|---|
| Fetch> # fetch-method> |
| Fetch> # deferred-fetch> |