响应 (Response)
Response 类表示通过 fetch() 方法发起的网络请求返回的响应结果。
它提供了访问响应体(body)、头部(headers)、状态码、MIME 类型、以及服务器返回的 Cookies 的接口。
在 Scripting app 中,Response 的设计基于标准 Fetch API,但进行了原生扩展,支持:
- 原生级 Cookie 访问与解析
- 二进制数据 (
Data) 支持 - 流式响应 (
ReadableStream<Data>) 读取 - 响应的 MIME 类型、编码信息与预期长度
- 完整兼容标准 Web Fetch 行为
定义
属性说明
方法说明
json(): Promise<any>
将响应体解析为 JSON 对象。
示例
text(): Promise<string>
将响应体读取为字符串。 默认使用 UTF-8 编码,若服务器返回了编码信息则自动识别。
示例
data(): Promise<Data>
将响应体读取为二进制数据对象 Data,适合文件下载、图片处理、或转换为 Base64。
示例
bytes(): Promise<Uint8Array>
将响应体读取为字节数组。
示例
arrayBuffer(): Promise<ArrayBuffer>
将响应体读取为 ArrayBuffer,适合进行底层二进制操作。
示例
formData(): Promise<FormData>
将响应体解析为 FormData(适用于 multipart/form-data 类型的响应)。
示例
Cookies 支持
cookies: Cookie[]
Scripting 的 Response 支持直接访问服务器返回的 Set-Cookie 信息。
返回值为一个 Cookie 对象数组,每个元素包含完整的 Cookie 元数据。
Cookie 类型定义
示例:读取响应中的 Cookies
示例:手动管理 Cookie(跨请求复用)
默认情况下,Scripting 的 fetch() 不会自动存储或携带 Cookie。
如果希望在多次请求中复用 Cookie,可以手动拼接 Cookie 头:
这种方式让开发者能够像浏览器开发者工具一样 完全掌控 Cookie 的发送与存储。
与其他类的关系
使用示例
示例 1:处理 JSON API 响应
示例 2:下载文件并保存
示例 3:读取服务器返回的 Cookies
示例 4:跨请求手动复用 Cookies
示例 5:读取响应的元信息
小结
Response 是 Scripting 网络请求体系中最核心的组成部分之一,具有以下特性:
- 完整兼容标准 Fetch API 行为
- 新增 原生 Cookie 访问与控制 能力
- 支持
Data类型的 二进制数据处理 - 支持响应流式读取、MIME 类型、编码与长度信息
- 可与
Request、Headers、FormData、AbortController等类型无缝配合
