此页面

HTTP 响应

Response 接口是 Fetch API 的一部分,表示 fetch() 的响应资源。

构造函数 跳转到标题

Response() 构造函数创建一个新的 Response 实例。

let response = new Response(body, init);

参数 跳转到标题

名称 类型 可选 描述
主体 BlobBufferSourceFormDataReadableStreamURLSearchParamsUSVString 真的 响应的主体。默认值为 null
初始化 ResponseInit 真的 一个可选对象,允许设置响应的状态和头部。

返回类型为 Response 实例。

ResponseInit 跳转到标题
名称 类型 可选 描述
状态 号码 真的 响应的状态码。
状态文本 字符串 真的 代表状态码的状态消息。
标题 Headersstring[][]Record<string, string> 错误的 响应的 HTTP 头部。

属性 跳转到标题

名称 类型 只读 描述
主体 ReadableStream 真的 getter 公开 ReadableStream 的主体内容。
bodyUsed 布尔值 真的 指示主体内容是否已读取。
网址 USVString 真的 响应的 URL。
标题 标题 真的 与响应相关的标头。
ok 布尔值 真的 指示响应是否成功(200-299 状态)。
重定向 布尔值 真的 指示响应是否为重定向的结果。
状态 号码 真的 响应的状态代码
状态文本 字符串 真的 响应的状态消息
类型 字符串 真的 响应的类型。

方法 跳转到标题

名称 描述
arrayBuffer() 将主体流读取到完成并返回一个 ArrayBuffer 对象。
blob() 将主体流读取到完成并返回一个 Blob 对象。
formData() 将主体流读取到完成并返回一个 FormData 对象。
json() 将主体流读取到完成,将其解析为 JSON 并返回一个 JavaScript 对象。
text() 将主体流读取到完成并返回一个 USVString 对象(文本)。
clone() 克隆响应对象。
error() 返回与网络错误关联的新响应对象。
redirect(url: string, status?: number) 创建一个重定向到提供 URL 的新响应。

示例 跳转到标题

function handler(_req) {
  // Create a response with html as its body.
  const response = new Response("<html> Hello </html>", {
    status: 200,
    headers: {
      "content-type": "text/html",
    },
  });

  console.log(response.status); // 200
  console.log(response.headers.get("content-type")); // text/html

  return response;
}

Deno.serve(handler);