Response: phương thức tĩnh json()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2023.
Note: This feature is available in Web Workers.
Phương thức tĩnh json() của giao diện Response trả về một Response chứa dữ liệu JSON đã cho làm body, và một header Content-Type được đặt thành application/json.
Mã trạng thái phản hồi, thông báo trạng thái và các header bổ sung cũng có thể được đặt.
Phương thức này giúp dễ dàng tạo đối tượng Response để trả về dữ liệu JSON đã mã hóa.
Service worker, chẳng hạn, có thể chặn các yêu cầu fetch từ trình duyệt và dùng json() để dựng một Response từ dữ liệu JSON đã lưu cache để trả về main thread.
Phương thức json() cũng có thể được dùng trong mã máy chủ để trả về dữ liệu JSON cho single-page application và các ứng dụng khác mong đợi phản hồi JSON.
Cú pháp
Response.json(data)
Response.json(data, options)
Tham số
data-
Dữ liệu JSON được dùng làm body phản hồi.
optionsOptional-
Một object tùy chọn chứa các thiết lập cho phản hồi, bao gồm mã trạng thái, status text và headers. Điều này giống với tham số
optionscủa constructorResponse().status-
Mã trạng thái cho phản hồi, chẳng hạn
200. statusText-
Thông báo trạng thái gắn với mã trạng thái. Với trạng thái
200, giá trị này có thể làOK. headers-
Bất kỳ header nào bạn muốn thêm vào phản hồi, chứa trong object
Headershoặc object literal của các cặp khóa/giá trịString(xem HTTP headers để tham khảo).
Giá trị trả về
Một đối tượng Response.
Ngoại lệ
TypeError-
Ném ra nếu
datakhông thể được chuyển thành chuỗi JSON. Điều này có thể xảy ra nếu dữ liệu là một đối tượng JavaScript có method, có tham chiếu vòng, hoặc object được truyền vào làundefined.
Ví dụ
>Phản hồi với dữ liệu JSON
Ví dụ trực tiếp này cho thấy cách tạo một đối tượng phản hồi JSON và ghi log đối tượng vừa tạo để kiểm tra (mã ghi log bị ẩn vì không liên quan).
Đoạn mã dưới đây tạo một đối tượng Response với body JSON { my: "data" } và header được đặt thành application/json.
const jsonResponse = Response.json({ my: "data" });
logResponse(jsonResponse);
Đối tượng có các thuộc tính sau.
Lưu ý body và header được đặt đúng như mong đợi, và status mặc định là 200.
Phản hồi với dữ liệu JSON và tùy chọn
Ví dụ này cho thấy cách tạo một đối tượng phản hồi JSON với các tùy chọn status và statusText.
Đoạn mã dưới đây tạo một đối tượng Response với body JSON { some: "data", more: "information" } và header được đặt thành application/json.
Nó cũng đặt status thành 307 và đặt status text thích hợp ("Temporary Redirect").
const jsonResponse = Response.json(
{ some: "data", more: "information" },
{ status: 307, statusText: "Temporary Redirect" },
);
logResponse(jsonResponse);
Đối tượng có các thuộc tính sau, được đặt đúng như mong đợi.
Lưu ý rằng thuộc tính ok của phản hồi đổi thành false vì giá trị status không nằm trong khoảng 200 đến 299.
Thông số kỹ thuật
| Specification |
|---|
| Fetch> # ref-for-dom-response-json①> |