我在中间件中设置 cookie:
export function middleware(req: NextRequest) {
const cookie = req.cookies.get("app_id")?.value;
if (cookie) return NextResponse.next();
const requestHeaders = new Headers(req.headers);
const app_id: string | undefined = requestHeaders.get("host")?.split(".")[0];
requestHeaders.set("app_id", app_id?.toString() || "");
const response = NextResponse.next({
request: {
headers: requestHeaders,
},
});
response.cookies.set("app_id", app_id || "");
return response;
}
Run Code Online (Sandbox Code Playgroud)
现在我在应用程序目录中有一个页面,我在其中使用下一个标题和cookie来获取app_id,它可以在本地主机上正常工作,但不能在vercel生产上工作。
页面代码:
async function fetchMethod(category_id: string | number | boolean) {
const url = "https:/rest_api";
const cookieStore = cookies();
const header = headers();
const app_id_cookie =
cookieStore.get("app_id")?.value || header.get("Cookie")?.split("=")[1];
console.log(app_id_cookie);
const bodyData …
Run Code Online (Sandbox Code Playgroud)