nuxt.js 使用了 同步axios请求后 多用户同时访问出现cookie错乱的问题
题目描述
在页面内使用了
asyncData:async function({$axios,req}){
let base = await axios.get('http://www.test.com/api/config/getBaseConfig');
return {
base:base.data
}
}
只要在页面上使用了同步请求,则在 middleware/auth.js 以及在能使用 req 的任何地方取
req.header.cookie
在多个用户同时访问的情况下会出现某一个或者多个用户能获取当多个cookie的情况,这个问题已经让我抓狂 4 天了,大佬来拯救一下。
相关代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不好意思
async function
是大大的异步函数。只是可以用await
关键字把代码写成同步代码而已;再说说nuxt的问题:
先了解nuxt的生命周期:
created
服务端渲染的时候, 会执行这个方法, 这个时候毛用都没有; 页面打开后, 应该还是没有 cookie 的.而且
created
是在 中间健和asyncData
之后执行的我猜测是不是服务器端没能正确区分出不同的客户端,从而混淆了该返回的数据,是否能在客户端请求中带上特征标记,从而让服务器端能够区分,从而进行处理。