Body

Le mixin Body de l'API Fetch représente le corps de d'une requête ou d'une réponse, vous permettant de déclarer le type de son contenu et comment le manipuler.

Body est implémenté par Request et Response. Ces derniers fournissent un objet avec un un corps associé (un stream), un drapeaux pour indiquer si le corps a déjà été utilisé (initialisé à faux), et un type MIME (au début, une séquence vide d'octet).

Propriétés

Body.body Lecture seule
Un simple getter utilisé pour obtenir un ReadableStream du contenu.
Body.bodyUsed Lecture seule
Un Boolean qui indique si le corps a déjà été lu.

Méthodes

Body.arrayBuffer()
Prend un flux Response, le lit en entier, et le retourne sous forme d'un ArrayBuffer au travers d'une promesse.
Body.blob()
Prends un flux Response, le lit en entier, et le retourne dans un Blob au travers d'une promesse.
Body.formData()
Prends un flux Response, le lit en entier, et le retourne dans un objet FormData au travers d'une promesse.
Body.json()
Prends un flux Response, le lit en entier et retourne une promesse résolue avec le résultat textuel interprété comme du JSON.
Body.text()
Prend un flux Response, le lit en entier, et le retourne dans une USVString (texte) au travers d'une promesse. La réponse est toujours décodée en utilisant l'UTF-8.

Exemples

L'exemple suivant utilise un simple appel fetch pour récupéré une image et l'afficher dans un élément <img>. Notez qu'une fois l'image téléchargée, nous devons appeler Body.blob() (Response implémente body) pour connaître le MIME type correcte.

Code HTML

<img class="my-image" src="https://wikipedia.org/static/images/project-logos/frwiki-1.5x.png">

Code JavaScript

const myImage = document.querySelector('.my-image');
fetch('https://upload.wikimedia.org/wikipedia/commons/7/77/Delete_key1.jpg')
	.then(res => res.blob())
	.then(res => {
		const objectURL = URL.createObjectURL(res);
		myImage.src = objectURL;
});

Spécifications

Spécifications Status Commentaire
Fetch
La définition de 'Body' dans cette spécification.
Standard évolutif

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
BodyChrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet ≤18Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10WebView Android Support complet 42Chrome Android Support complet 42Firefox Android ? Opera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Support complet 10Samsung Internet Android Support complet 4.0
arrayBuffer
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet ≤18Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10WebView Android Aucun support NonChrome Android Support complet 42Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Support complet OuiSamsung Internet Android Aucun support Non
blob
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet ≤18Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10WebView Android Aucun support NonChrome Android Support complet 42Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Support complet 10Samsung Internet Android Aucun support Non
body
Expérimentale
Chrome Support complet 52Edge Support complet ≤18Firefox Support complet 65
Support complet 65
Support complet 57
Désactivée
Désactivée From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 39Safari Support complet 10WebView Android Support complet 52Chrome Android Support complet 52Firefox Android Support complet 65
Support complet 65
Support complet 57
Désactivée
Désactivée From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 41Safari iOS Support complet OuiSamsung Internet Android Support complet 6.0
bodyUsed
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet ≤18Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Aucun support NonSamsung Internet Android Aucun support Non
formData
Expérimentale
Chrome Support complet 60Edge Support complet ≤79Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 47Safari Support complet 10WebView Android Support complet 60Chrome Android Support complet 60Firefox Android Aucun support NonOpera Android Support complet 44Safari iOS Support complet OuiSamsung Internet Android Support complet 8.0
json
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet ≤18Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10WebView Android Aucun support NonChrome Android Support complet 42Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Support complet 10Samsung Internet Android Aucun support Non
text
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet ≤18Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10WebView Android Aucun support NonChrome Android Support complet 42Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Support complet 10Samsung Internet Android Aucun support Non

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.

Voir aussi