Nuxt.js 3中setCookie报错:Cannot read properties of undefined (reading 'getHeader')
登录成功后执行以下方法发送refresh token:
export const sendRefreshToken = (event, token) => { setCookie(event.res, "refresh_token", token, { httpOnly: true, sameSite: true }) }
服务器返回500错误,控制台报错:
[nuxt] [request error] [unhandled] [500] Cannot read properties of undefined (reading 'getHeader') at appendResponseHeader (/C:/Development/Node_Projects/quiz/node_modules/h3/dist/index.mjs:289:27) at setCookie (/C:/Development/Node_Projects/quiz/node_modules/h3/dist/index.mjs:358:3) at sendRefreshToken (/C:/Development/Node_Projects/quiz/.nuxt/dev/index.mjs:649:3) at /C:/Development/Node_Projects/quiz/.nuxt/dev/index.mjs:697:3 at async Server.toNodeHandle (/C:/Development/Node_Projects/quiz/node_modules/h3/dist/index.mjs:698:7) at async Server.toNodeHandle (/C:/Development/Node_Projects/quiz/node_modules/h3/dist/index.mjs:698:7)
问题原因
错误传递了event.res给setCookie方法。在Nuxt 3(基于h3框架)中,setCookie的第一个参数要求直接传入event对象,而非event.res。直接传event.res会导致h3内部无法找到所需的响应方法,触发"Cannot read properties of undefined"错误。
修正代码
将event.res替换为event:
export const sendRefreshToken = (event, token) => { setCookie(event, "refresh_token", token, { httpOnly: true, sameSite: true }) }
内容的提问来源于stack exchange,提问作者Nand
相关产品推荐
相关产品推荐

