Body执行者:Response
2018-03-05 11:36 更新
Response
Fetch API 的 Response 接口用于表示对请求的响应。
您可以使用 Response.Response() 构造函数创建一个新的 Response 对象,但您更可能遇到由于另一个 API 操作(例如一个 service worker:Fetchevent.respondWith或简单的 GlobalFetch.fetch() 操作)而返回的 Response 对象。
Response构造函数
Response()
- 创建一个新的
Response
对象。
Response属性
Response.headers
只读- 包含与响应关联的
Headers
对象。 Response.ok
只读- 包含一个布尔值,说明响应是否成功(状态在200-299范围内)。
Response.redirected
只读- 指示响应是否是重定向的结果;也就是说,它的 URL 列表有多个条目。
Response.status
只读- 包含响应的状态代码(例如,
200
表示成功)。 Response.statusText
只读- 包含与状态码相对应的状态消息(例如,
OK
用于200
)。 Response.type
只读- 包含响应的类型(例如
basic
,cors
)。 Response.url
只读- 包含响应的URL。
Response.useFinalURL
- 包含一个布尔值,说明这是否是响应的最终URL。
使用 Response 实现 Body,所以它也有以下可用的属性:
Body.body
只读- 一个简单的 getter,用于暴露
ReadableStream
正文内容。 Body.bodyUsed
只读- 存储一个
Boolean
声明该身体是否已用于响应中的声明。
Response方法
Response.clone()
- 创建一个
Response
对象的克隆。 Response.error()
- 返回
Response
与网络错误关联的新对象。 Response.redirect()
- 使用其他网址创建新的回复。
使用 Response 实现 Body,所以它也有以下方法可用:
Body.arrayBuffer()
- 采取
Response
流并阅读完成。它返回一个以“ArrayBuffer
” 处理的 promise。 Body.blob()
- 采取
Response
流并阅读完成。它返回一个以Blob
处理的 promise。 Body.formData()
- 采取
Response
流并阅读完成。它返回一个用FormData
对象解决的 promise。 Body.json()
- 采取
Response
流并阅读完成。它返回一个承诺,将解析正文文本的结果解析为JSON
。 Body.text()
- 采取
Response
流并阅读完成。它返回一个用USVString
(文本)来解决的 promise。
Response实例
在我们的基本的 fetch 示例中,我们使用一个简单的 fetch() 调用来获取图像并将其显示在 <img> 标签中。该 fetch() 调用返回一个 promise,它通过与资源获取操作关联的 Response 对象来解决。你会注意到,因为我们正在请求一个图像,我们需要运行 Body.blob(Response 实现 body)来为响应提供正确的 MIME类型。
var myImage = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
return response.blob();
}).then(function(blob) {
var objectURL = URL.createObjectURL(blob);
myImage.src = objectURL;
});
您也可以使用 Response.Response() 构造函数来创建自己的自定义 Response 对象:
var myResponse = new Response();
规范
规范 | 状态 | 注释 |
---|---|---|
Fetch
该规范中'Respone'的定义。
|
Living Standard
|
初始定义 |
浏览器兼容性
电脑端 | 移动端 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome |
Edge |
Firefox(Gecko) |
Internet Explorer |
Opera |
Safari(WebKit) |
Android Webview |
Chrome for Android |
Edge Mobile | Firefox Mobile (Gecko) | Opera Mobile |
iOS Safari | |
基本支持 | 支持:42 | 支持 | 支持:39 | 不支持 | 支持:29 | 支持:10.1 | 支持:42 | 支持:42 | 支持 | 支持 | 支持:29 | 支持:10.1 |
Response() 构造函数 |
支持:42 | 支持:15 | 支持:39 | 不支持 | 支持:29 | 支持:10.1 | 支持:42 | 支持:42 | 支持 | 支持 | 支持:29 | 支持:10.3 |
headers
|
支持:42 | 支持
|
支持:39 | 不支持
|
支持:29 | 不支持 | 不支持 | 不支持
|
支持 | 不支持 | 不支持 | 不支持 |
ok
|
支持:42 | 支持 | 支持:39 | 不支持
|
支持:29 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
redirected
|
支持:60 | 支持
|
支持:49 | 不支持
|
支持:47 | 不支持 | 支持:60 | 支持:60 | 支持 | 支持:49 | 支持:47 | 不支持 |
status
|
支持:42 | 支持
|
支持:39 | 不支持
|
支持:29 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 |
statusText
|
支持:42 | 支持
|
支持:39 | 不支持
|
支持:29 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 |
type
|
支持:42 |
支持
|
支持:39 | 不支持
|
支持:29 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 |
url
|
支持:42 | 支持
|
支持:39 | 不支持
|
支持:29 | 不支持 | 不支持 | 不支持
|
支持 | 不支持
|
不支持
|
不支持
|
useFinalURL
|
支持:42 | 支持
|
支持:39 | 不支持
|
支持:29 | 不支持 | 不支持
|
不支持
|
支持 | 支持:39 | 不支持
|
不支持
|
clone
|
支持:42 | 支持
|
支持:39 | 不支持
|
支持:29 | 不支持 | 不支持
|
不支持
|
支持 | 不支持
|
不支持
|
不支持
|
error
|
支持 | ? | 支持
|
不支持
|
支持 | 不支持
|
不支持
|
不支持
|
? | 不支持
|
不支持
|
不支持
|
redirect
|
支持 | ? | 支持
|
不支持
|
支持 | 不支持 | 不支持
|
不支持
|
? | 不支持
|
不支持
|
不支持 |
以上内容是否对您有帮助:
更多建议: