This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

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 (run example live) 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.

var myImage = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
  return response.blob();
}).then(function(response) {
  var objectURL = URL.createObjectURL(response);
  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

 Contributors to this page: erikadoyle, fscholz, chrisdavidmills, jpmedley, teoli, kscarfone
 Last updated by: erikadoyle,