Body - 表示响应/请求的主体

Body mixinFetch API 中的接口,表示响应/请求的主体,允许你声明它的内容类型以及如何被处理。

BodyRequestResponse 实现。它为这些对象提供了相关的 body(一个数据流(stream)),一个使用过的标志(最初为未设置),和一个MIME 类型(最初是空字节序列)。

属性

Body.body 只读

一个简单的 getter 用于暴露正文内容的 ReadableStream

Body.bodyUsed 只读

一个 Boolean,它表示是否已经读取了正文。

方法

Body.arrayBuffer()

接收 Response 流并将其读取完成。它返回一个 promise,解析为 ArrayBuffer

Body.blob()

接收 Response 流并将其读取完成。它返回一个 promose,解析为 Blob

Body.formData()

接收 Response 流并将其读取完成。它返回一个 promise,解析为 FormData

Body.json()

接收 Response 流并将其读取完成。它返回一个 promise,解析正文文本的结果为 JSON

Body.text()

接收 Response 流并将其读取完成。它返回一个以 promise,解析为 USVString(文本)。返回值总是使用 UTF-8 解码。

实例

下面的示例使用简单的抓取(fetch)调用来抓取图像并将其显示在 <img> 标签中。你会注意到,因为我们需要显示图像,我们需要通过 Body.blob()Response 继承了 Body) 为响应内容提供正确的 MIME 类型。

抓取图像并将其显示在 <img> 标签中

<img class="my-image" src="https://wikipedia.org/static/images/project-logos/frwiki-1.5x.png">

<script>
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;
});
</script>

尝试一下 »

规范

规范 状态 备注
Fetch
Body 的定义
现行的标准 -

桌面浏览器兼容性

特性 Chrome Edge Firefox Internet Explorer Opera Safari
基础支持

42

41

支持

39

34

不支持 29 不支持
body 52 支持 不支持 不支持 39 未知
bodyUsed

42

41

支持

39

34

不支持

29

28

不支持
arrayBuffer

42

41

支持

39

34

不支持

29

28

不支持
blob

42

41

支持

39

34

不支持

29

28

不支持
formData 60 未知

39

34

不支持 47 不支持
json

42

41

支持

39

34

不支持

29

28

不支持
text

42

41

支持

39

34

不支持

29

28

不支持

移动浏览器兼容性

特性 Android Chrome for Android Edge mobile Firefox for Android IE mobile Opera Android iOS Safari
基础支持 42 42 未知 未知 未知 支持 不支持
body 52 52 未知 不支持 未知 39 未知
bodyUsed 不支持 不支持 支持 不支持 未知 不支持 不支持
arrayBuffer 不支持 不支持 支持 不支持 未知 不支持 不支持
blob 不支持 不支持 支持 不支持 未知 不支持 不支持
formData 60 60 未知 不支持 未知 47 不支持
json 不支持 不支持 支持 不支持 未知 不支持 不支持
text 不支持 不支持 支持 不支持 未知 不支持 不支持

相关链接