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érer 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 10.1WebView 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 10.3Samsung 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 10.1WebView 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 10.3Samsung Internet Android Support complet 4.0
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 10.1WebView 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 10.3Samsung Internet Android Support complet 4.0
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 11.1WebView 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 11.3Samsung 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 Support complet 10.1WebView 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 Support complet 10.3Samsung 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 partiel 10.1
Notes
Support partiel 10.1
Notes
Notes From Safari 10.1, the method exists but always rejects with NotSupportedError. See bug 215671.
WebView Android Support complet 60Chrome Android Support complet 60Firefox Android Aucun support NonOpera Android Support complet 44Safari iOS Support partiel 10.3
Notes
Support partiel 10.3
Notes
Notes From Safari for iOS 10.3, the method exists but always rejects with NotSupportedError. See bug 215671.
Samsung 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 10.1WebView 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 10.3Samsung Internet Android Support complet 4.0
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 10.1WebView 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 10.3Samsung Internet Android Support complet 4.0

Légende

Support complet  
Support complet
Support partiel  
Support partiel
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.
Voir les notes d'implémentation.
Voir les notes d'implémentation.
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