nuxt3 怎么把从数据库(redis)查询的用户数据发送给客户端?
业务场景:
- 用户在界面上输入用户名和密码;
- server端做权限验证,然后把用户数据存入redis;
- server端,把用户关键信息jwt写入cookie,(jwt解码后是:{ userid: 1 },之后可以通过userid从redis查用户数据);
- 之后每次加载页面,能把用户数据传到客户端页面html;(SSR)
我想像掘金的那样,但是不知道他是怎么做的。(存储在 --NUXT-- 里)
我现在用的是最笨的方法,通过服务端插件重写html,这样在在前端还要处理一次,没有做到前后端状态共享:
麻烦大佬们看下,愿意v100
回复
1个回答

test
2024-06-19
我不理解,为什么不认真看文档呢……
- 用户的数据写入 cookie 后,发起请求时会携带
- 所以 SSR 的时候你能拿到 cookie 和 header
- 但是因为可能涉及用户隐私数据,所以从 SSR 里发起的请求默认不会携带用户的 header 和 cookie,你需要自己处理
- 通过
useRequestHeader
和useCookie
你就可以拿到这些数据 - 然后放到请求里即可
- 至于 SSR 你直接用
useAsyncData
或者useFetch
就好 - 之后 Nuxt 会帮你把数据发到前端,你就当它们存在,直接使用就好。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容