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

JavaScript Response 对象详解与使用指南

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

laoliangsh发布于 2024/4/4更新于 2026/6/1217 浏览
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 对象
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 医疗 NLP 实战:电子病历分析与模型应用
  • Java 项目中的 .idea 与 target 文件夹
  • Android 离线应用核心组件解析:dev-summit-architecture-demo 架构
  • Java 主流快速开发框架横评:若依、芋道、JeecgBoot 与 Jeesite
  • Web 自动化测试入门:核心概念与 Selenium 实战指南
  • Java 中 String 对象创建机制解析
  • ActiveMQ 消息队列实战:JMS 概念与消息模型详解
  • Java 内部类详解
  • 自定义 DialogAlert 对话框并实现复用
  • C++ 控制流详解:从基础语法到高级应用实践
  • 双指针算法专题二:三角形个数与多数之和
  • C++ 模板编程基础:泛型编程入门与实践
  • C++ 多态底层实现原理深度解析
  • 基于 Continue 插件本地部署 AI 代码助手替代 Cursor 或 Copilot
  • Llama-3.2V-11B-cot 模型在 X 光片异常识别与医学诊断中的推理应用
  • AI 与 SQL 双驱 ER 图生成工具:功能、原理与应用
  • FPGA 图像处理:图像畸变矫正原理及 MATLAB 与 FPGA 实现
  • 智能在线考试系统设计与实现:AI 辅助开发实践
  • 为什么许多开发者开始放弃 LangChain?
  • OpenClaw 部署飞书机器人

相关免费在线工具

  • 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