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 stream), a used flag (initially unset), and a MIME type (initially the empty byte sequence).
Properties
Body.body
Read only- A simple getter used to expose a
ReadableStream
of the body contents. Body.bodyUsed
Read only- 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 anArrayBuffer
. Body.blob()
- Takes a
Response
stream and reads it to completion. It returns a promise that resolves with aBlob
. Body.formData()
- Takes a
Response
stream and reads it to completion. It returns a promise that resolves with aFormData
object. Body.json()
- Takes a
Response
stream and reads it to completion. It returns a promise that resolves with the result of parsing the body text asJSON
. Body.text()
- Takes a
Response
stream and reads it to completion. It returns a promise that resolves with aUSVString
(text). The response is always decoded using UTF-8.
Examples
The example below uses 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
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;
});
Specifications
Specification | Status | Comment |
---|---|---|
Fetch The definition of 'Body' in that specification. |
Living Standard |
Browser compatibility
BCD tables only load in the browser