Headers: phương thức getSetCookie()

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 getSetCookie() của giao diện Headers trả về một mảng chứa các giá trị của tất cả header Set-Cookie gắn với một response. Điều này cho phép đối tượng Headers xử lý nhiều header Set-Cookie, điều mà trước khi phương thức này được triển khai là không thể.

Phương thức này được thiết kế để dùng trong môi trường máy chủ, ví dụ Node.js. Trình duyệt chặn mã JavaScript frontend truy cập header Set-Cookie, theo yêu cầu của Fetch spec, vốn định nghĩa Set-Cookie là một forbidden response-header namephải bị lọc ra khỏi mọi response được phơi bày cho mã frontend.

Cú pháp

js
getSetCookie()

Tham số

Không có.

Giá trị trả về

Một mảng chuỗi biểu diễn giá trị của tất cả các header Set-Cookie khác nhau gắn với một response.

Nếu không có header Set-Cookie nào được đặt, phương thức sẽ trả về một mảng rỗng ([ ]).

Ví dụ

Như đã nói ở trên, chạy mã kiểu sau trên phía client sẽ không trả về kết quả nào — Set-Cookie bị lọc khỏi các đối tượng Headers lấy qua mạng.

js
fetch("https://example.com").then((response) => {
  console.log(response.headers.getSetCookie());
  // No header values returned
});

Tuy nhiên, đoạn sau có thể dùng để truy vấn nhiều giá trị Set-Cookie. Nó hữu ích hơn nhiều ở phía server, nhưng cũng có thể chạy ở phía client.

js
const headers = new Headers({
  "Set-Cookie": "name1=value1",
});

headers.append("Set-Cookie", "name2=value2");

headers.getSetCookie();
// Returns ["name1=value1", "name2=value2"]

Thông số kỹ thuật

Specification
Fetch
# dom-headers-getsetcookie

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

Xem thêm