Body

The Body mixin of the Fetch API represents the body of the response/request, allowing you to declare what its content type is and how it should be handled.

Body is implemented by both Request and Response — this provides these objects with an associated body (a byte stream), a used flag (initially unset), and a MIME type (initially the empty byte sequence).

Properties

Body.bodyUsed Read only
Contains a Boolean that indicates whether the body has been read.

Methods

Body.arrayBuffer()
Takes a Response stream and reads it to completion. It returns a promise that resolves with an ArrayBuffer.
Body.blob()
Takes a Response stream and reads it to completion. It returns a promise that resolves with a Blob.
Body.formData()
Takes a Response stream and reads it to completion. It returns a promise that resolves with a FormData object.
Body.json()
Takes a Response stream and reads it to completion. It returns a promise that resolves with a JSON object.
Body.text()
Takes a Response stream and reads it to completion. It returns a promise that resolves with a USVString (text).

Examples

In our basic fetch example we use a simple fetch call to grab an image and display it in an <img> tag. You'll notice that since we are requesting an image, we need to run Body.blob (Response implements body) to give the response its correct MIME type.

HTML Content

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

JS Content

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

Specifications

Specification Status Comment
Fetch
The definition of 'Body' in that specification.
Living Standard  

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 42 [1]
 
(Yes) 39 (39) [2] No support

29 [3]

No support

[1] Behind a preference in version 41.

[2] Behind a preference starting with version 34.

[3] Behind a preference in version 28.

See also

 

Document Tags and Contributors

 Last updated by: yqjiang,