请看Axios的中文说明:https://www.kancloud.cn/yunye/axios/234845
最近在搞一次的用户登陆信息的验证,实现方式是放在header里面传递验证。
这类信息是每一个请求都会需要的,很容易想到找一个开放的口子设置就行。
网上查了很久得到的答案就是:
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
看上去很简单。可就是无效。
好无奈,最后看了下自己的代码。。。。
好吧;
// http request 拦截器,通过这个,我们就可以把Cookie传到后台
instance.interceptors.request.use(
config => {
// console.log('请求路径', config.url)
if (config.url.indexOf('/222222') != -1) {
config.headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
config.data = Qs.stringify(config.data)
} else if (config.url.indexOf('.aliyuncs.com') != -1) {
// 此处设置文件上传,配置单独请求头
config.headers = {
'Content-Type': 'multipart/form-data'
}
} else {
config.headers = {
'Content-Type': 'application/json'
}
config.data = Qs.parse(config.data)
}
config.headers["test"] = "323232323232";
return config
},
err => {
return Promise.reject(err)
}
)
这个拦截器里面我写的是
config.headers =
直接就是替换了啊,前面设置再多也都没用的饿。
对于axios设置全局参数的时候无效的 注意下看下自己写的拦截器哦。
做什么事都不要做做停停,停停做做。