Response: thuộc tính type

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Note: This feature is available in Web Workers.

Thuộc tính chỉ đọc type của giao diện Response chứa kiểu của phản hồi. Kiểu này quyết định việc script có thể truy cập body và headers của phản hồi hay không.

Giá trị

Một chuỗi, có thể là một trong các giá trị sau:

basic

Áp dụng trong một trong các trường hợp sau:

  • Yêu cầu là same-origin.
  • URL được yêu cầu có scheme là data:.
  • mode của yêu cầu là navigate hoặc websocket.

Với kiểu này, tất cả header phản hồi đều được lộ ra ngoại trừ Set-Cookie.

cors

Yêu cầu là cross-origin và đã được xử lý thành công bằng CORS. Với kiểu này, chỉ các CORS-safelisted response headers được lộ ra.

error

Đã xảy ra lỗi mạng. Thuộc tính status được đặt thành 0, bodynull, headers rỗng và immutable.

Đây là kiểu phản hồi được trả về bởi Response.error(). Kiểu phản hồi này không được trả về bởi lời gọi fetch(), vì nếu xảy ra lỗi mạng, promise sẽ bị reject.

opaque

Phản hồi cho một yêu cầu cross-origin có mode được đặt thành no-cors. Thuộc tính status được đặt thành 0, bodynull, headers rỗng và immutable.

opaqueredirect

Phản hồi cho một yêu cầu có tùy chọn redirect được đặt thành manual, và yêu cầu đó đã bị server chuyển hướng. Thuộc tính status được đặt thành 0, bodynull, headers rỗng và immutable.

Ví dụ

Một phản hồi cơ bản

Yêu cầu same-origin sau sẽ trả về phản hồi basic:

js
const response = await fetch("flowers.jpg");

console.log(response.type); // "basic"

Phản hồi CORS

Giả sử https://example.org không phải là origin của bên gửi yêu cầu, và server trả về các CORS headers phù hợp, yêu cầu này sẽ trả về phản hồi cors:

js
const response = await fetch("https://example.org/flowers.jpg");

console.log(response.type); // "cors"

Phản hồi opaque

Yêu cầu sau được thực hiện với tùy chọn no-cors, nên nó trả về phản hồi opaque:

js
const response = await fetch("https://example.org/flowers.jpg", {
  mode: "no-cors",
});

console.log(response.type); // "opaque"
console.log(response.body); // null
console.log(response.status); // 0

Phản hồi lỗi

Đoạn mã sau dùng Response.error() để tạo phản hồi error:

js
const response = Response.error();

console.log(response.type); // "error"
console.log(response.body); // null
console.log(response.status); // 0

Thông số kỹ thuật

Thông số kỹ thuật
Fetch
# dom-response-type

Tương thích trình duyệt

Xem thêm