跳转到主要内容
在本页上

HTTP 响应

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

构造函数 跳转到标题

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

let response = new Response(body, init);

参数 跳转到标题

名称 类型 可选 描述
body BlobBufferSourceFormDataReadableStreamURLSearchParamsUSVString true 响应体。默认值为 null
init ResponseInit true 一个可选对象,允许设置响应的状态和标头。

返回类型是 Response 实例。

ResponseInit 跳转到标题
名称 类型 可选 描述
status 数字 true 响应的状态码。
statusText 字符串 true 代表状态码的状态消息。
headers Headersstring[][]Record<string, string> false 响应的 HTTP 标头。

属性 跳转到标题

名称 类型 只读 描述
body ReadableStream true getter 公开正文内容的 ReadableStream
bodyUsed 布尔值 true 指示是否读取了正文内容。
url USVString true 响应的 URL。
headers 标头 true 与响应关联的标头。
ok 布尔值 true 指示响应是否成功(200-299 状态码)。
重定向 布尔值 true 指示响应是否为重定向结果。
status 数字 true 响应的状态码
statusText 字符串 true 响应的状态消息
类型 字符串 true 响应的类型。

方法 跳转到标题

名称 描述
arrayBuffer() 读取body流直到结束,并返回一个 ArrayBuffer 对象。
blob() 读取body流直到结束,并返回一个 Blob 对象。
formData() 读取body流直到结束,并返回一个 FormData 对象。
json() 读取body流直到结束,将其解析为 JSON 并返回一个 JavaScript 对象。
text() 读取body流直到结束,并返回一个 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);