前提:因为公司使用vue带token是在参数里面,看别人代码时写在header里面,记录一下
1. axios中request拦截器中统一在headers携带token
const service = axios.create({
baseURL: process.env.BASE_API, // api的base_url
timeout: 5000 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(config => {
if (store.getters.token) {
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}
return config
}, error => {
// Do something with request error
console.log(error) // for debug
Promise.reject(error)
})
2. axios中request拦截器中统一在params携带token
const service = axios.create({
baseURL: process.env.BASE_API // api的base_url
// withCredentials: true,
// timeout: 50000 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(config => {
if (config.method.toLowerCase() === 'get') {
if (!config.params) {
config.params = {
'trackId': getToken()
}
} else {
config.params = {
...config.params,
'trackId': getToken()
}
}
} else if (config.method.toLowerCase() === 'post') {
if (config.data instanceof FormData) {
config.data.append('trackId', getToken())
} else {
if (!config.data) {
config.data = `?trackId=${getToken()}`
} else {
config.data += `&trackId=${getToken()}`
}
}
}
return config
}, error => {
console.log('请求拦截器', error)
Promise.reject(error)
})
---------------------
作者:周皮皮皮皮皮皮
来源:CSDN
原文:https://blog.csdn.net/qq_32439381/article/details/86154242
版权声明:本文为博主原创文章,转载请附上博文链接!