L'interface Response de l'API de fetch représente la réponse d'une requête initialisée.

Vous pouvez créer un nouvel objet Response en utilisant le constructeur Response.Response(). Cependant, vous rencontrerez plus fréquemment l'objet Response comme étant le résultat d'une opération de l'API, par exemple, un service worker Fetchevent.respondWith, ou un simple GlobalFetch.fetch().

Constructeur

Response()
Crée un nouvel objet Response.

Propriétés

Response.headers Lecture seule
Contient les objets Headers associés à la réponse.
Response.ok Lecture seule
Contient un booléen statuant s'il s'agit d'une réponse indiquant un succès (statut HTTP entre 200 et 299) ou non.
Response.redirected Lecture seule
Indique si oui ou non la réponse est le résultat d'une (ou plusieurs) redirection(s), c'est-à-dire que sa liste d'URLs a plus d'une entrée.
Response.status Lecture seule
Contient le status code de la réponse (par exemple 200 en cas de réussite).
Response.statusText Lecture seule
Contient le message du statut correspondant au status code (à savoir : OK pour le code 200 par exemple).
Response.type Lecture seule
Contient le type de la réponse (par exemple, basic, cors).
Response.url Lecture seule
Contient l'URL de la réponse.
Response.useFinalURL
Contient un booléen statuant s'il s'agit de l'URL finale de la réponse.

Par ailleurs, Response implémente également une propriété Body, voici les propriétés qui lui sont propres :

Body.body Lecture seule
Un simple getter utilisé afin d'exposer un ReadableStream permettant de lire le contenu du body.
Body.bodyUsed Lecture seule
Stocke un Boolean qui indique si le body a déjà été utilisé dans la réponse ou non.

Méthodes

Response.clone()
Crée un clone de l'objet Response.
Response.error()
Retourne un nouvel objet Response associé à une erreur réseau.
Response.redirect()
Crée une nouvelle réponse avec une URL différente permettant de rediriger l'utilisateur.

Response implémente Body, voici les différentes méthodes qui sont disponibles:

Body.arrayBuffer()
Prend le stream de la Response et le lit jusqu'à la fin. Renvoie une promise qui retourne un ArrayBuffer lorsqu'elle est résolue.
Body.blob()
Prend le stream de la Response et le lit jusqu'à la fin. Renvoie une promise qui retourne un Blob lorsqu'elle est résolue.
Body.formData()
Prend le stream de la Response et le lit jusqu'à la fin. Renvoie une promise qui retourne un FormData lorsqu'elle est résolue.
Body.json()
Prend le stream de la Response et le lit jusqu'à la fin. Renvoie une promise qui retourne le résultat du parsing du body text, comme JSON ,lorsqu'elle est résolue.
Body.text()
Prend le stream de la Response et le lit jusqu'à la fin. Renvoie une promise qui est résolue avec un USVString (text).

Exemples

Dans notre exemple basique d'utilisation de fetch (exemple), nous utilisons un simple appel fetch() pour récupérer une image et l'afficher dans un tag <img>. L'appel fetch() retourne une promise qui est résolue avec un objet Response associé à l'opération de récupération de la ressource. Vous remarquerez que puisque nous récupérons une image, nous avons besoin d'utiliser Body.blob (disponible dans le body de la Response) pour attribuer le bon MIME type à la réponse.

var myImage = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
  return response.blob();
}).then(function(blob) {
  var objectURL = URL.createObjectURL(blob);
  myImage.src = objectURL;
});

Vous pouvez également utiliser le constructeur Response.Response() pour créer votre propre objet Response:

var myResponse = new Response();

Spécifications

Spécification Statut Commentaire
Fetch
La définition de 'Response' dans cette spécification.
Standard évolutif Définition initiale

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 42 (Oui) 34 (34) [1]
39 (39)
Pas de support 29 10.1
Body.formData attribute 60 ? ? Pas de support 47 ?
redirected attribute 57 ? 49 (49) Pas de support 44 Pas de support
Fonctionnalité Android Webview Chrome pour Android Edge Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 42 42 (Oui) 34.0 (34) [1]
39.0 (39)
? Pas de support 29 Pas de support
Body.formData attribute 60 60 ? ? ? Pas de support 47 Pas de support
redirected attribute 57 57 ? 49.0 (49) ? Pas de support 44 Pas de support

[1] Disponible comme préférence jusqu'à Firefox 39.

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : Hennek
 Dernière mise à jour par : Hennek,