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 name và phải bị lọc ra khỏi mọi response được phơi bày cho mã frontend.
Cú pháp
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.
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.
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
| Thông số kỹ thuật |
|---|
| Fetch> # dom-headers-getsetcookie> |