你可以在Next.js服务器操作中通过express设置cookie吗?

问题描述 投票:0回答:1

我通过 Express.Js 后端服务器设置 cookie,响应显示 set-cookie,但我在客户端上使用 Next.js 15,并且未设置 cookie。 尽管我在某处读到服务器操作正在服务器组件上执行。 有没有人可以建议通过 set-cookie 设置 cookie

const date = new Date();
date.setDate(date.getDate() + 1);
res.clearCookie("authToken");
res.cookie("authToken", token, {
  httpOnly: true,
  expires: date,
  path: "/",
  sameSite: "none",
});

Next.js 服务器操作登录:已在文件中使用“使用服务器”。

 try {
const res = await axiosInstance.request({
  url: "/auth/login",
  method: "POST",
  data: { name, email, password },
});
console.log(res);
console.log("Request successful:login ", res.data);
   return res.data;
  } catch (error) {
 console.log("Error while signup: => ", error);
throw error;
}

形式:

    <form action={handleSubmit}>
reactjs express next.js cookies server-action
1个回答
0
投票

next js 中的 cookies 是其中的重要组成部分,在 next js 13-14 和 15 中,next js 团队还没有完成它。 所以我们在路由处理程序和服务器操作中设置 cookie 时遇到一些问题。 您可以使用以下代码进行设置:

'use server'

import { cookies } from "next/headers";

export async function cookie_setter(name: string, value: string,time:number) {

   (await cookies()).set({
      name: name,
      value: value,
      httpOnly: true,
      secure: true,
      sameSite: "none",
      path: "/",
      expires: new Date(Date.now() + time)
   });

   return 1
}

我在我的网站中使用了这段代码https://mernfa.ir/nextjs-learning,你可以看到它正在工作身份验证部分......

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.