Response: json() 静态方法
注意:此功能在 Web Workers 中可用。
json() 静态方法是 Response 接口的一部分,它返回一个 Response 对象,该对象包含提供的 JSON 数据作为 body,以及一个设置为 application/json 的 Content-Type 头部。还可以设置响应状态、状态消息和附加头部。
该方法可以轻松地创建 Response 对象来返回 JSON 编码的数据。例如,Service workers 会拦截浏览器发起的 fetch 请求,并可能使用 json() 从缓存的 JSON 数据构建一个 Response 对象返回给主线程。json() 方法也可以在服务器端代码中使用,为 单页应用 和任何其他需要 JSON 响应的应用程序返回 JSON 数据。
语法
Response.json(data)
Response.json(data, options)
参数
data-
用作响应体的 JSON 数据。
options可选-
一个包含响应设置的选项对象,包括状态码、状态文本和头部。这与
Response()构造函数的选项参数相同。
返回值
一个 Response 对象。
异常
TypeError-
如果
data无法转换为 JSON 字符串,则抛出此错误。这可能发生在数据是包含方法的 JavaScript 对象、包含循环引用,或者传递的对象是undefined时。
示例
带 JSON 数据的响应
此实时示例显示了如何创建一个 JSON 响应对象,并记录新创建的对象以供检查(日志代码被隐藏,因为它不相关)。
下面的代码创建一个 Response 对象,其 JSON body 为 { my: "data" },头部设置为 application/json。
const jsonResponse = Response.json({ my: "data" });
logResponse(jsonResponse);
该对象具有以下属性。请注意 body 和头部已按预期设置,并且默认状态设置为 200。
带 JSON 数据和选项的响应
此示例显示了如何创建带有 status 和 statusText 选项的 JSON 响应对象。
下面的代码创建一个 Response 对象,其 JSON body 为 { some: "data", more: "information" },头部设置为 application/json。它还将状态设置为 307 并设置了适当的状态文本(“Temporary Redirect”)。
const jsonResponse = Response.json(
{ some: "data", more: "information" },
{ status: 307, statusText: "Temporary Redirect" },
);
logResponse(jsonResponse);
该对象具有以下属性,这些属性已按预期设置。请注意,由于状态值不在 200 到 299 的范围内,响应的 ok 属性已更改为 false。
规范
| 规范 |
|---|
| Fetch # ref-for-dom-response-json① |
浏览器兼容性
加载中…