Body

Fetch API 中的 Body mixin 代表 代表响应/请求的正文,允许你声明其内容类型是什么以及应该如何处理。

正文由RequestResponse实现 --- 这为这些对象提供了一个相关联的主体(字节流),一个已使用的标志(最初未设置)和一个MIME类型(最初为空字节序列)。

该处原文: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).

属性

Body.bodyUsed 只读
包含一个指示body是否被读取过的 Boolean 值。

方法

Body.arrayBuffer()
使用一个buffer数组来读取 Response流中的数据,并将bodyUsed状态改为已使用。
Body.blob()
使用一个Blob对象来读取 Response流中的数据,并将bodyUsed状态改为已使用。
Body.formData()
使用一个 FormData 对象来读取 Response流中的数据,并将bodyUsed状态改为已使用。
Body.json()
使用一个 JSON 对象来读取 Response流中的数据,并将bodyUsed状态改为已使用。
Body.text()
使用一个USVString (文本) 对象来读取 Response流中的数据,并将bodyUsed状态改为已使用。

范例

基本 fetch 使用实例 (查看运行效果) 中,我们使用简单的 fetch 请求获取一张图片并将其使用 <img> 标签展示。你可能注意到当我们请求一张图片,需要使用 Body.blob (Response 实现 body 接口以发送正确的MIME类型给服务器进行识别。

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

规范

Specification Status Comment
Fetch
Body
Living Standard  

浏览器兼容情况

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 42 [1]
 
39 (39) [2] 未实现

29 [3]

未实现
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support 未实现 未实现 未实现 未实现 未实现 未实现 未实现

[1] Behind a preference in version 41.

[2] Behind a preference starting with version 34.

[3] Behind a preference in version 28.

也可以看看

 

文档标签和贡献者