请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

在axios封装里直接加入token,是不是就不需要在store和app里设置了?

比如这样
const token = store.state.token
if (token) {
config.headers.Authorization = Bearer ${token}
}
只要存在token发送请求就带上?
在app里设置应该也是同理吧,想了想好像没有什么区别,app是初始挂载,如果有token也是全局加上

正在回答 回答被采纳积分+3

插入代码

1回答

提问者 勇敢的心3525152 2025-03-03 20:33:59

试了一下全局设置token发现没有持久化 为什么会这样呢

if(store.state.token){

    http.defaults.headers.Authorization = `Bearer ${store.state.token}`

  }

http是我封装的axios

0 回复 有任何疑惑可以回复我~
  • 提问者 勇敢的心3525152 #1
    发现是要在config里设置 是有什么原因吗?我的理解是https.default是等效的
    回复 有任何疑惑可以回复我~ 2025-03-03 20:41:07
  • 张轩 #2
    同学你好 可以提供一下你的源代码(git),我可以在本地帮你看一下
    回复 有任何疑惑可以回复我~ 2025-03-03 22:34:23
  • 提问者 勇敢的心3525152 回复 张轩 #3
    回复 张轩:我已经改好了,我的疑问是:
    我单独封装了axios 在请求头里注入token
    如果store里有token,执行axios.defaults.headers.Authorization = `Bearer ${store.state.token}`和在请求拦截器里加入config.headers.Authorization = `Bearer ${store.state.token}` 是否有区别?
    按我的理解,这两个应该是等效的?
    回复 有任何疑惑可以回复我~ 2025-03-04 02:38:19
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号