值
一个字符串,可以是以下任何值
basic-
这适用于以下任何情况
在此类型下,所有响应头都暴露,除了
Set-Cookie。 cors-
请求是跨域的,并且已使用 CORS 成功处理。在此类型下,只暴露 CORS 安全列表响应头。
error-
发生了网络错误。
status属性设置为0,body为null,头部为空且不可变。这是由
Response.error()返回的响应类型。调用fetch()不会返回此类型的响应,因为如果发生网络错误,Promise 会被拒绝。 opaque-
对模式设置为
no-cors的跨域请求的响应。status属性设置为0,body为null,头部为空且不可变。 opaqueredirect-
对重定向选项设置为
manual的请求的响应,并且该请求已被服务器重定向。status属性设置为0,body为null,头部为空且不可变。
示例
一个 basic 响应
以下同源请求将返回一个 basic 响应
js
const response = await fetch("flowers.jpg");
console.log(response.type); // "basic"
一个 CORS 响应
假设 https://example.org 不是请求者所在的域,并且服务器响应了适当的 CORS 头部,此请求将返回一个 cors 响应
js
const response = await fetch("https://example.org/flowers.jpg");
console.log(response.type); // "cors"
一个 opaque 响应
以下请求是使用 no-cors 选项发起的,因此它返回一个 opaque 响应
js
const response = await fetch("https://example.org/flowers.jpg", {
mode: "no-cors",
});
console.log(response.type); // "opaque"
console.log(response.body); // null
console.log(response.status); // 0
一个 error 响应
以下代码使用 Response.error() 创建了一个 error 响应
js
const response = Response.error();
console.log(response.type); // "error"
console.log(response.body); // null
console.log(response.status); // 0
规范
| 规范 |
|---|
| Fetch # dom-response-type |
浏览器兼容性
加载中…