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 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 aJSON
object. Body.text()
- Takes a
Response
stream and reads it to completion. It returns a promise that resolves with aUSVString
(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 |
Feature | Android | Edge | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | No support | (Yes) | No support | No support | No support | No support | No support | 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
Tags:
Contributors to this page:
yqjiang,
chrisdavidmills,
ZaneHannanAU,
Hugues-Antoine,
erikadoyle,
fscholz,
jpmedley,
teoli,
kscarfone
Last updated by:
yqjiang,