CookieStore.set()

Secure context

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

The set() method of the CookieStore interface sets a cookie with the given name and value or options object. (See below.)

Syntax

var promise = cookieStore.set(name,value);
var promise = cookieStore.set(options);

Parameters

This method requires one of the following:

name
A USVString with the name of the cookie.
value
A USVString with the value of the cookie.
options
An object containing:
name
A USVString with the name of a cookie.
value
A USVString with the value of the cookie.
expiresOptional
A DOMTimeStamp containing the expiration date of the cookie.
domainOptional
A USVString containing the domain of the cookie.
pathOptional
A USVString containing the path of the cookie.
sameSiteOptional
One of the following SameSite values:
"strict"
Cookies will only be sent in a first-party context and not be sent along with requests initiated by third party websites.
"lax"
Cookies are not sent on normal cross-site subrequests (for example to load images or frames into a third party site), but are sent when a user is navigating to the origin site (i.e. when following a link).
"none"
Cookies will be sent in all contexts.

Note

For more information on SameSite cookies see SameSite cookies explained.

Return value

A Promise that resolves with Undefined when setting the cookie completes.

Exceptions

TypeError
Thrown if setting the cookie with the given values fails.
DOMException SecurityError
Thrown if the origin does not serialize to a URL.

Examples

The following example sets a cookie by passing an object with name, value, expires, and domain.

const day = 24 * 60 * 60 * 1000;
cookieStore.set({
  name: "cookie1",
  value: "cookie1-value",
  expires: Date.now() + day,
  domain: "example.com"
});

Specifications

Specification
Cookie Store API
# dom-cookiestore-set

Browser compatibility

BCD tables only load in the browser