Response

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() (en-US). 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 (en-US), ou un simple GlobalFetch.fetch().

Constructeur

Response() (en-US)
Crée un nouvel objet Response.

Propriétés

Response.headers (en-US) 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 (en-US) 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 (en-US) Lecture seule
Contient le status code de la réponse (par exemple 200 en cas de réussite).
Response.statusText (en-US) Lecture seule
Contient le message du statut correspondant au status code (à savoir : OK pour le code 200 par exemple).
Response.type (en-US) Lecture seule
Contient le type de la réponse (par exemple, basic, cors).
Response.url (en-US) 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 (en-US) Lecture seule
Un simple getter utilisé afin d'exposer un ReadableStream (en-US) permettant de lire le contenu du body.
Body.bodyUsed (en-US) Lecture seule
Stocke un Boolean (en-US) qui indique si le body a déjà été utilisé dans la réponse ou non.

Méthodes

Response.clone() (en-US)
Crée un clone de l'objet Response.
Response.error() (en-US)
Retourne un nouvel objet Response associé à une erreur réseau.
Response.redirect() (en-US)
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() (en-US)
Prend le stream de la Response et le lit jusqu'à la fin. Renvoie une promise qui retourne un ArrayBuffer (en-US) lorsqu'elle est résolue.
Body.blob() (en-US)
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() (en-US)
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() (en-US)
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 (en-US) (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() (en-US) 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

BCD tables only load in the browser

Voir aussi