我正在制作一个 NextJS 应用程序。我正在使用 cookie 来保存从 REST API 返回的访问令牌。在 中login.js,cookie 已成功创建:
document.cookie = `token=${res.data.result.accessToken}; path=/;`;
Run Code Online (Sandbox Code Playgroud)
但是当我访问它时header.js:
if (document.cookie.split(';').some((item) => item.trim().startsWith('token='))) {
SetAuth("true");
}
Run Code Online (Sandbox Code Playgroud)
它说;
ReferenceError: document is not defined
Run Code Online (Sandbox Code Playgroud)
有什么原因或任何其他方式来保存令牌并访问它们?
小智 8
由于 Nextjs 使用 SSR,当代码在服务器端运行阶段执行时,您无法访问文档,您可以做一些检查来了解您的代码是否正在浏览器中执行,您可以检查这篇文章中的解决方案。
作为快速答案,您可以首先检查是否有权访问窗口对象
if (typeof window !== "undefined") {
// your code with access to window or document object here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11481 次 |
| 最近记录: |