API Fetch

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

L'API Fetch fournit une interface pour la récupération de ressources (e.g., à travers le réseau.) Elle paraîtra familière à tout utilisateur de XMLHttpRequest, mais cette nouvelle API propose néanmoins un ensemble de fonctionnalités plus souples et plus puissantes.

Concepts et usage

Fetch fournit une définition générique des objets Request et Response (et d'autres choses impliquées par les requêtes réseau.) Ainsi il sera possible de les utiliser dès que nécessaire à l'avenir, même si c'est dans le cadre de service workers, de l'API Cache ou d'autres mécanismes similaires qui manipulent ou modifient des requêtes et des réponses, ou n'importe quelle situation qui pourrait requérir que vous génériez vos propres réponses au moyen d'un programme.

Elle fournit également une définition pour des concepts associés tels que CORS et la sémantique de l'en-tête HTTP origin, supplantant les définitions précédemment proposées ailleurs.

Pour effectuer une requête et obtenir une ressource, utiliser la méthode GlobalFetch.fetch. Elle est implémentée dans de multiples interfaces, et en particulier dans Window et WorkerGlobalScope. Ce qui la rend disponible de la même manière dans tout contexte où vous souhaiteriez récupérer des ressources.

La méthode fetch() prend un argument obligatoire, le chemin vers la ressource souhaitée. Elle retourne une promesse qui résout la Response de cette requête, qu'elle soit couronnée de succès ou non. Vous pouvez aussi optionnellement lui passer un objet d'options init comme second argument (voir Request.)

Une fois que la Response a été retournée, il y a un ensemble de méthodes disponibles pour déterminer ce que doit être le contenu du corps et comment il doit être manipulé (voir Body.)

Vous pourriez créer une requête et une réponse directement en utilisant les constructeurs Request() et Response(), même s'il est improbable que vous procédiez ainsi. Il est plus probable cependant que leur création résulte des actions d'une autre API (par exemple, FetchEvent.respondWith des service workers.)

Remarque : pour en savoir plus sur l'utilisation des fonctionnalités de l'API Fetch API et en approfondir les concepts, consulter respectivement Utiliser Fetch et Fetch, les concepts de base.

Interfaces de Fetch

GlobalFetch
Contient la méthode fetch() utilisée pour obtenir une ressource.
Headers
Représente les en-têtes de requête et de réponse, vous permettant de les consulter et de prendre différentes décisions en fonction du résultat.
Request
Représente la requête d'une ressource.
Response
Représente la réponse à une requête.

Mixin de Fetch

Body
Fournit les méthodes relatives au corps de la requête/réponse, vous permettant  de déclarer quel est son type de contenu et comment il doit être manipulé.

Spécifications

Spécification Statut Commentaire
Fetch Standard évolutif Définition initiale

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support basique 42.0
 
39 (39)
34 behind pref
Pas de support

29
28 behind pref

Pas de support WebKit bug 151937
Streaming response body 43.0

?

?

?

?

Fonctionnalité Android Android Webview Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Support basique Pas de support 42.0 Pas de support Pas de support Pas de support Pas de support Pas de support 42.0
Streaming respone body Pas de support 43.0

?

?

?

?

?

43.0

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : blr21560, jean-pierre.gay
 Dernière mise à jour par : blr21560,