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 stream), a used flag (initially unset), and a MIME type (initially the empty byte sequence).

Properties

Body.body Только для чтения
A simple getter used to expose a ReadableStream of the body contents.
Body.bodyUsed Только для чтения
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 the result of parsing the body text as JSON.
Body.text()
Takes a Response stream and reads it to completion. It returns a promise that resolves with a USVString (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

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
Определение 'Body' в этой спецификации.
Живой стандарт  

Browser compatibility

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
BodyChrome Полная поддержка 42
Полная поддержка 42
Полная поддержка 41
Отключено
Отключено From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Полная поддержка ≤18Firefox Полная поддержка 39
Полная поддержка 39
Полная поддержка 34
Отключено
Отключено From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Полная поддержка 10.1WebView Android Полная поддержка 42Chrome Android Полная поддержка 42Firefox Android ? Opera Android Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
arrayBuffer
Экспериментальная
Chrome Полная поддержка 42
Полная поддержка 42
Полная поддержка 41
Отключено
Отключено From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Полная поддержка ≤18Firefox Полная поддержка 39
Полная поддержка 39
Полная поддержка 34
Отключено
Отключено From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Нет поддержки НетOpera Android Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
blob
Экспериментальная
Chrome Полная поддержка 42
Полная поддержка 42
Полная поддержка 41
Отключено
Отключено From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Полная поддержка ≤18Firefox Полная поддержка 39
Полная поддержка 39
Полная поддержка 34
Отключено
Отключено From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Нет поддержки НетOpera Android Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
body
Экспериментальная
Chrome Полная поддержка 52Edge Полная поддержка ≤18Firefox Полная поддержка 65
Полная поддержка 65
Полная поддержка 57
Отключено
Отключено From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка 39Safari Полная поддержка 11.1WebView Android Полная поддержка 52Chrome Android Полная поддержка 52Firefox Android Полная поддержка 65
Полная поддержка 65
Полная поддержка 57
Отключено
Отключено From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Полная поддержка 41Safari iOS Полная поддержка 11.3Samsung Internet Android Полная поддержка 6.0
bodyUsed
Экспериментальная
Chrome Полная поддержка 42
Полная поддержка 42
Полная поддержка 41
Отключено
Отключено From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Полная поддержка ≤18Firefox Полная поддержка 39
Полная поддержка 39
Полная поддержка 34
Отключено
Отключено From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Нет поддержки НетOpera Android Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Полная поддержка 10.3Samsung Internet Android Нет поддержки Нет
formData
Экспериментальная
Chrome Полная поддержка 60Edge Полная поддержка ≤79Firefox Полная поддержка 39
Полная поддержка 39
Полная поддержка 34
Отключено
Отключено From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка 47Safari Частичная поддержка 10.1
Замечания
Частичная поддержка 10.1
Замечания
Замечания From Safari 10.1, the method exists but always rejects with NotSupportedError. See bug 215671.
WebView Android Полная поддержка 60Chrome Android Полная поддержка 60Firefox Android Нет поддержки НетOpera Android Полная поддержка 44Safari iOS Частичная поддержка 10.3
Замечания
Частичная поддержка 10.3
Замечания
Замечания From Safari for iOS 10.3, the method exists but always rejects with NotSupportedError. See bug 215671.
Samsung Internet Android Полная поддержка 8.0
json
Экспериментальная
Chrome Полная поддержка 42
Полная поддержка 42
Полная поддержка 41
Отключено
Отключено From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Полная поддержка ≤18Firefox Полная поддержка 39
Полная поддержка 39
Полная поддержка 34
Отключено
Отключено From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Нет поддержки НетOpera Android Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
text
Экспериментальная
Chrome Полная поддержка 42
Полная поддержка 42
Полная поддержка 41
Отключено
Отключено From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Полная поддержка ≤18Firefox Полная поддержка 39
Полная поддержка 39
Полная поддержка 34
Отключено
Отключено From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Нет поддержки НетOpera Android Полная поддержка 29
Полная поддержка 29
Полная поддержка 28
Отключено
Отключено From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0

Легенда

Полная поддержка  
Полная поддержка
Частичная поддержка  
Частичная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Смотрите замечания реализации.
Смотрите замечания реализации.
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.

See also