single-page-application - 在 nuxt 中使用通用模式时是否应该使用 asyncData 选项?
问题描述
我目前正在使用 nuxt 开发一个项目。
然后,身份验证有问题。
每当我使用中间件移动页面时,我都会从 cookie 中取出令牌,并将其放入 axios 默认令牌中。
我对这个流程有疑问,因为我使用的是通用模式。
因为移动页面时运行客户端的中间件,刷新时运行服务器的中间件,所以token分别存储在客户端的axios默认头和服务器的axios默认头中。
所以刷新后我无法从客户端获取数据。
这可以使用 asyncData 解决,但是是否应该将所有数据都带到 asyncData 中?
解决方案
您仍然可以访问服务器中间件中的 cookie,而无需在客户端。cookie 实际上在您的请求标头中。
中间件看起来像这样:
要访问请求标头,您可以破坏 nuxt 上下文
export default function({ req }){
console.log(req.headers.cookie);
}
推荐阅读
- arrays - Matrix (arrays) in Lua - swap rows and apply row operation
- rest - 如何在 vuejs 中访问具有 Axios 令牌的 API?
- python - 如何获取列表嵌套字典中键的最大值
- web-crawler - 在 Storm Crawler 中抓取特定基本 URL 的所有子 URL 的完成事件
- java - 自定义行映射器的 Junit 代码覆盖率
- ios - iOS 14 菜单选择器样式的标签在更改时有时会变暗
- testing - 两个设备上的相同功能,但 BDD 测试的不同行为/场景
- python - matplotlib - 带计数的极性密度图
- django - 发送消息后的 Django 频道,当前选项卡显示 2 条消息(发送者 + 接收者)但其他选项卡不显示任何内容?
- javascript - 在 render() 方法中没有使用 React.cloneElement 传递道具