关于axios请求拦截器的遇到的问题
记录一下自己在项目中遇到的深坑。
具体问题:在项目的登陆功能中需要保存token
进行身份验证,在前端axios
拦截器中定义的代码如下:
Vue.prototype.axios = axios.create({
baseURL: 'http://localhost:3000/admin/',
headers: { 'Authorization':''}
})
axios.interceptors.request.use(config => {
//在本地存储中拿到的token值
const token = localStorage.token
if (token !== null) {
config.headers.Authorization = 'Bearer' + token
}
return config
}, err => {
return Promise.reject(err)
})
实际遇到的问题显示:代码没有报错,但是数据请求依旧没有请求头,经过我一个多小时的努力!!!!!!!终于发现了问题
Vue.prototype.axios = axios.create({
baseURL: 'http://localhost:3000/admin/',
headers: { 'Authorization':''}
})
问题出现在这行代码中,具体什么原理不知道。但是只需要将这行代码改为如下
Vue.prototype.axios = axios
axios.defaults.baseURL = 'http://localhost:3000/admin/api'
axios.defaults.headers.common['Authorization'] = ''
token成功加到请求头上。