Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cookie未发送到nextjs中的服务器_Javascript_Express_Next.js - Fatal编程技术网

Javascript Cookie未发送到nextjs中的服务器

Javascript Cookie未发送到nextjs中的服务器,javascript,express,next.js,Javascript,Express,Next.js,我有一个nextjs应用程序,我在后端使用expressjs和graphql。 在我的ssr页面上,我正在做: 导出异步函数getServerSideProps(ctx){ const id=ctx.query.slug[1] const ad=wait fetchCarAd(id,ctx) 返回{ 道具:{ . . . }, } } fetchCarAd终于来了: const response=wait axios(getGraphqlUrl{ 数据:数据, 方法:“POST”, 标题:{

我有一个nextjs应用程序,我在后端使用expressjs和graphql。 在我的ssr页面上,我正在做:

导出异步函数getServerSideProps(ctx){
const id=ctx.query.slug[1]
const ad=wait fetchCarAd(id,ctx)
返回{
道具:{
.
.
.
},
}
}
fetchCarAd终于来了:

const response=wait axios(getGraphqlUrl{
数据:数据,
方法:“POST”,
标题:{
“内容类型”:“应用程序/json”
},
事实上,
})
在后台,我正在做:

const canBookmarkAd=async(父、参数、上下文)=>{
const user=await ejectUserFromReq(上下文)
.
.
.
}
export const ejectUserFromReq=async(上下文)=>{
const token=context.cookies&&context.cookies.token?context.cookies.token:空
如果(!!!令牌){
返回空
}
.
.
.
}
即使我可以在chrome developer tools>application>storage中看到cookie,或者当我从下一页导航到此页时,cookie仍然是空的

但如果我从nextjs上下文中弹出cookie并将其作为头传递给axios,它就可以正常工作

//这里是从nextjs提交的ctx。
常数cookie=ctx?ctx.req.headers.cookie:null;
const response=wait axios(getGraphqlUrl{
数据:数据,
方法:“POST”,
标题:{
“内容类型”:“应用程序/json”,
“CSRF令牌”:getCsrfTokenFromDom(),
“饼干”:饼干
},
事实上,
})
此解决方案有效,但给我们带来以下错误:

因为cookie是一个

这只发生在getServerSideProps中。如果我在此之后发送请求,cookie工作正常,并且没有必要将cookie添加到headername

任何人都知道为什么Cookie是空的,或者在getServerSideProps中发送Cookie的正确方法是什么