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

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.

Phương thức set() của giao diện Headers đặt một giá trị mới cho một header hiện có bên trong đối tượng Headers, hoặc thêm header nếu nó chưa tồn tại.

Sự khác biệt giữa set()Headers.append là nếu header được chỉ định đã tồn tại và chấp nhận nhiều giá trị, set() sẽ ghi đè giá trị hiện có bằng giá trị mới, trong khi Headers.append sẽ nối giá trị mới vào cuối tập giá trị.

Vì lý do bảo mật, một số header chỉ có thể được user agent kiểm soát. Những header này bao gồm các forbidden request headerscác forbidden response header names.

Cú pháp

js
set(name, value)

Tham số

name

Tên của HTTP header mà bạn muốn đặt thành giá trị mới. Nếu tên đã cho không phải là tên của một HTTP header, phương thức này sẽ ném ra TypeError.

value

Giá trị mới mà bạn muốn đặt.

Giá trị trả về

Không có (undefined).

Ví dụ

Tạo một đối tượng Headers rỗng là rất đơn giản:

js
const myHeaders = new Headers(); // Currently empty

Bạn có thể thêm một header vào đó bằng Headers.append, rồi đặt một giá trị mới cho header này bằng set():

js
myHeaders.append("Content-Type", "image/jpeg");
myHeaders.set("Content-Type", "text/html");

Nếu header được chỉ định chưa tồn tại, set() sẽ tạo nó và đặt giá trị của nó thành giá trị đã chỉ định. Nếu header được chỉ định đã tồn tại và chấp nhận nhiều giá trị, set() sẽ ghi đè giá trị hiện có bằng giá trị mới:

js
myHeaders.set("Accept-Encoding", "deflate");
myHeaders.set("Accept-Encoding", "gzip");
myHeaders.get("Accept-Encoding"); // Returns 'gzip'

Bạn sẽ cần Headers.append để nối giá trị mới vào tập giá trị, thay vì ghi đè nó.

Thông số kỹ thuật

Specification
Fetch
# ref-for-dom-headers-set①

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

Xem thêm