模拟 Cookie 响应

虽然 Mirage 允许在响应中设置标头,但 XMLHttpRequest 规范明确禁止访问Set-CookieSet-Cookie2 标头。因此,Mirage 响应无法通过标头设置 Cookie。

但是,您可以在路由函数处理程序中设置它们,在浏览器级别模拟从 ajax 调用接收 Cookie。

this.post("/users/login", (schema) => {
  // log in for 24 hours
  let now = new Date()
  let cookieExpiration = new Date(now.getTime() + 24 * 3600 * 1000)
  document.cookie = `remember_me=cookie-content-here; domain=.dev-domain; path=/; expires=${cookieExpiration.toUTCString()};`

  return schema.users.find(1)
})

您的 JavaScript 客户端代码现在可以使用 document.cookie 访问任何设置的 Cookie。