CookieStore: phương thức get()

Baseline 2025 *
Newly available

Since June 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Some parts of this feature may have varying levels of support.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Service Workers.

Phương thức get() của giao diện CookieStore trả về một Promise được giải quyết thành một cookie duy nhất khớp với name hoặc đối tượng options đã cho. Phương thức sẽ trả về cookie khớp đầu tiên.

Cú pháp

js
get(name)
get(options)

Tham số

Phương thức này yêu cầu một trong các giá trị sau:

name Optional

Một chuỗi chứa tên của cookie.

Hoặc

options Optional

Một đối tượng chứa:

name

Một chuỗi chứa tên của cookie.

url

Một chuỗi chứa URL của cookie.

Note: Tùy chọn url cho phép sửa đổi một cookie được đặt phạm vi dưới một URL cụ thể. Service worker có thể lấy các cookie sẽ được gửi tới bất kỳ URL nào trong phạm vi của chúng. Từ một tài liệu, bạn chỉ có thể lấy các cookie tại URL hiện tại, vì vậy URL hợp lệ duy nhất trong ngữ cảnh tài liệu là URL của chính tài liệu đó.

Giá trị trả về

Một Promise được giải quyết với một đối tượng biểu diễn cookie đầu tiên khớp với name hoặc options đã gửi, hoặc null nếu không có cookie nào khớp.

Đối tượng được trả về khi có kết quả khớp chứa các thuộc tính sau:

domain Experimental Non-standard

Một chuỗi chứa miền của cookie.

expires Experimental Non-standard

Một dấu thời gian, được cho dưới dạng Unix time tính bằng mili giây, chứa ngày hết hạn của cookie.

name Experimental Non-standard

Một chuỗi chứa tên của cookie.

partitioned Experimental Non-standard

Một giá trị boolean cho biết cookie có phải là cookie phân vùng (true) hay không (false). Xem Cookies Having Independent Partitioned State (CHIPS) để biết thêm thông tin.

path Experimental Non-standard

Một chuỗi chứa đường dẫn của cookie.

sameSite Experimental Non-standard

Một trong các giá trị SameSite sau: "strict", "lax", hoặc "none".

secure Experimental Non-standard

Một giá trị boolean cho biết cookie chỉ được dùng trong các ngữ cảnh bảo mật (true) hay không (false).

value Experimental Non-standard

Một chuỗi chứa giá trị của cookie.

Ngoại lệ

SecurityError DOMException

Được ném ra nếu origin không chuyển đổi tuần tự thành một URL.

TypeError

Được ném ra nếu:

  • Tham số options là một đối tượng rỗng.
  • Phương thức được gọi trên luồng chính, và tùy chọn url được chỉ định nhưng không khớp với URL của cửa sổ hiện tại.
  • Phương thức được gọi trong worker và tùy chọn url được chỉ định, nhưng không khớp với origin của worker.
  • Việc truy vấn các cookie được biểu diễn bởi name hoặc options đã cho thất bại.

Ví dụ

Ví dụ này cho thấy cách lấy một cookie cụ thể theo tên.

Đoạn mã đầu tiên tạo một cookie tên là "cookie1" bằng CookieStore.set(), đồng thời ghi mọi lỗi ra console. Sau đó nó chờ get() để lấy thông tin về chính cookie đó. Nếu promise được trả về giải quyết với một đối tượng, chúng ta sẽ ghi cookie ra log; nếu không, chúng ta ghi rằng không tìm thấy cookie khớp.

js
async function cookieTest() {
  // Set test cookie
  try {
    await cookieStore.set("cookie1", "cookie1-value");
  } catch (error) {
    console.log(`Error setting cookie1: ${error}`);
  }

  // Get cookie, specifying name
  const cookie = await cookieStore.get("cookie1");

  if (cookie) {
    console.log(cookie);
  } else {
    console.log("cookie1: Cookie not found");
  }
}

cookieTest();

Thông số kỹ thuật

Specification
Cookie Store API
# dom-cookiestore-get

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