【发布时间】:2019-05-24 15:04:14
【问题描述】:
在 main.js
中import axios from 'axios';
axios.defaults.headers.common = {
'Authorization': 'JWT ' + Vue.auth.getToken()
};
axios.defaults.baseURL = process.env.VUE_APP_BASE_URL; //TODO: append the trailing slash
// Add modified axios instance to Vue prototype so that to be available globally via Vue instance
Vue.prototype.$http = axios;
到目前为止一切正常。 (我能够成功登录并存储令牌)
现在,我有另一个组件,它通过在组件的 created() lifehook 上执行的 ajax 调用从服务器获取用户列表。
我的问题是,当我尝试访问组件中的 this.$http 时,我从服务器返回 401 错误响应,因为 Authorization 标头对请求标头不可用(尽管我已经预先配置了 axios.defaults.headers。常见)
奇怪的是,如果我点击浏览器上的刷新按钮,那么令牌会正确附加到请求标头,并且成功获取用户列表**。**
谁能解释一下为什么会这样?
【问题讨论】:
-
能贴出使用Axios的组件代码吗?
标签: javascript vue.js vuejs2 axios