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.bodyUsedRead only
- Contains a Booleanthat indicates whether the body has been read.
Methods
- Body.arrayBuffer()
- Takes a Responsestream and reads it to completion. It returns a promise that resolves with anArrayBuffer.
- Body.blob()
- Takes a Responsestream and reads it to completion. It returns a promise that resolves with aBlob.
- Body.formData()
- Takes a Responsestream and reads it to completion. It returns a promise that resolves with aFormDataobject.
- Body.json()
- Takes a Responsestream and reads it to completion. It returns a promise that resolves with aJSONobject.
- Body.text()
- Takes a Responsestream 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,