nuxt.js 使用了 同步axios请求后 多用户同时访问出现cookie错乱的问题

发布于 2022-09-12 23:01:05 字数 513 浏览 15 评论 0

题目描述

在页面内使用了

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 天了,大佬来拯救一下。

相关代码

image
image

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花伊自在美 2022-09-19 23:01:05

不好意思 async function 是大大的异步函数。只是可以用 await关键字把代码写成同步代码而已;

再说说nuxt的问题:
先了解nuxt的生命周期:
created 服务端渲染的时候, 会执行这个方法, 这个时候毛用都没有;  页面打开后, 应该还是没有 cookie 的.
而且 created 是在 中间健和 asyncData 之后执行的

昵称有卵用 2022-09-19 23:01:05

我猜测是不是服务器端没能正确区分出不同的客户端,从而混淆了该返回的数据,是否能在客户端请求中带上特征标记,从而让服务器端能够区分,从而进行处理。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文