Examples

Cookies(Cookies)

使用 Cookies 在客户端存储数据。

使用 h3 处理 Cookies 非常简单。处理 Cookies 有三个工具:

  • setCookie 用于在响应中设置 Cookie。
  • getCookie 用于从请求中获取 Cookie。
  • deleteCookie 用于从响应中删除 Cookie。

要设置 Cookie,需要在事件处理器中使用 setCookie

import { setCookie } from "h3";

app.use(async (event) => {
  setCookie(event, "name", "value", { maxAge: 60 * 60 * 24 * 7 });
  return "";
});

在选项中,可以配置Cookie 标志

  • maxAge 设置 Cookie 的过期时间(秒)。
  • expires 使用 Date 对象设置 Cookie 的过期时间。
  • path 设置 Cookie 的路径。
  • domain 设置 Cookie 的域。
  • secure 设置 Cookie 的 Secure 标志。
  • httpOnly 设置 Cookie 的 HttpOnly 标志。
  • sameSite 设置 Cookie 的 SameSite 标志。
Read more in Utils.

要获取 Cookie,需要在事件处理器中使用 getCookie

import { getCookie } from "h3";

app.use(async (event) => {
  const name = getCookie(event, "name");

  // 执行相关操作...

  return "";
});

如果 Cookie 存在,将返回其值,否则返回 undefined

要删除 Cookie,需要在事件处理器中使用 deleteCookie

import { deleteCookie } from "h3";

app.use(async (event) => {
  deleteCookie(event, "name");
  return "";
});

deleteCookie 工具是对 setCookie 的封装,设置的值为 ""maxAge0

这会从客户端删除该 Cookie。