跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.js大前端

JavaScript Response 对象详解与使用指南

JavaScript Response 对象用于获取资源响应信息并暴露响应体使用方式。可通过构造函数初始化默认值实例,或传入 body 和 init 配置状态码及头部。实际开发中常由 fetch 返回代表 HTTP 响应的 Promise 结果。类提供 redirect 和 error 静态方法分别生成重定向和网络错误响应对象。属性包含 status、headers、body 等关键信息。

laoliangsh发布于 2024/4/4更新于 2026/7/2430 浏览
JavaScript Response 对象详解与使用指南

顾名思义,Response 对象是获取资源响应的接口。这个接口暴露了响应的相关信息,也暴露了使用响应体的不同方式。

创建 Response 对象

可以通过构造函数初始化 Response 对象且不需要参数。此时响应实例的属性均为默认值,因为它并不代表实际的 HTTP 响应:

let r = new Response();
console.log(r);
// Response {
//   body: (…) 
//   bodyUsed: false 
//   headers: Headers {} 
//   ok: true 
//   redirected: false 
//   status: 200 
//   statusText: 'OK' 
//   type: 'default' 
//   url: '' 
// }

Response 构造函数接收一个可选的 body 参数。这个 body 可以是 null,等同于 fetch() 参数 init 中的 body。还可以接收一个可选的 init 对象,这个对象可以包含下表所列的键和值。

键值
headers必须是 Headers 对象实例或包含字符串键/值对的常规对象实例
默认为没有键/值对的 Headers 对象
status表示 HTTP 响应状态码的整数
默认为 200
statusText表示 HTTP 响应状态的字符串
默认为空字符串

可以像下面这样使用 body 和 init 来构建 Response 对象:

let r = new Response('foobar', {
  status: 418,
  statusText: 'I'm a teapot'
});
console.log(r);
// Response {
//   body: (…) 
//   bodyUsed: false 
//   headers: Headers {} 
//   ok: false 
//   redirected: false 
//   status: 418 
//   statusText: 'I'm a teapot' 
//   type: 'default' 
//   url: '' 
// }

大多数情况下,产生 Response 对象的主要方式是调用 fetch(),它返回一个最后会解决为 Response 对象的 Promise,这个 Response 对象代表实际的 HTTP 响应。下面的代码展示了这样得到的 Response 对象:

fetch('https://foo.com')
.then((response) => {
  console.log(response);
});
// Response {
//   body: (…) 
//   bodyUsed: false 
//   headers: Headers {} 
//   ok: true 
//   redirected: false 
//   status: 200 
//   statusText: 'OK' 
//   type: 'basic' 
//   url: 'https://foo.com/' 
// }

Response 类还有两个用于生成 Response 对象的静态方法:Response.redirect() 和 Response.error()。前者接收一个 URL 和一个重定向状态码(301、302、303、307 或 308),返回重定向的 Response 对象:

console.log(Response.redirect('https://foo.com', 301));
// Response {
//   body: (…) 
//   bodyUsed: false 
//   headers: Headers {} 
//   ok: false 
//   redirected: false 
//   status: 301 
//   statusText: '' 
//   type: 'default' 
//   url: '' 
// }

提供的状态码必须对应重定向,否则会抛出错误:

Response.redirect('https://foo.com', 200);
// RangeError: Failed to execute 'redirect' on 'Response': Invalid status code

另一个静态方法 Response.error() 用于产生表示网络错误的 Response 对象(网络错误会导致 fetch() Promise 被拒绝)。

console.log(Response.error());
// Response {
//   body: (…) 
//   bodyUsed: false 
//   headers: Headers {} 
//   ok: false 
//   redirected: false 
//   status: 0 
//   statusText: '' 
//   type: 'error' 
//   url: '' 
// }

目录

  1. 创建 Response 对象
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 动态规划实战:子序列问题的核心模型与优化
  • LangChain 文档切分器详解:从字符到代码的文本分割策略
  • 基于 Coze 构建 AI 应用及 Web 部署指南
  • Qt Creator 集成 GitHub Copilot 插件配置指南
  • Clawith 企业级多智能体框架深度解析
  • Stable Diffusion 整合包安装及基础使用教程
  • Python Pandas 核心数据结构与操作实战
  • Python 自学完整学习路线:从基础语法到项目实战指南
  • Telegram 搜索机器人推荐:高效检索频道与资源
  • VS Code 中使用 Docker 容器进行开发
  • Agent Skills 设计详解:构建可复用的 AI 智能体工作流
  • macOS 配置 Git 平台 SSH 连接
  • GoView 低代码数据可视化开发平台使用指南
  • 无人机 RemoteID 合规指南:ArduRemoteID 开源方案详解
  • OpenClaw 集成 GitHub Copilot GPT-5.4 技术修复指南
  • GitHub Copilot 兼容 OpenAI/Anthropic API 代理服务详解
  • Spring AI Agent Skills 接入与原理剖析
  • Midjourney 第三方 API 服务技术原理与合规边界探讨
  • 达梦数据库 Java 外部函数配置小记
  • System Verilog 硬件验证实战:从基础语法到高级应用

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online