1.方法一
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests
headers: {
ak: window.sessionStorage.getItem("code") || ""
},
transformRequest: [
function(data, headers) {
// `transformRequest` 允许在向服务器发送前,修改请求数据
// 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法
// 结合create_headers里的内容,在这里又新增一条信息sex=man
// 因此network中查看的结果是:name=xiaoming&age=12&sex=man
headers["ak"] = window.sessionStorage.getItem("code") || "";
return JSON.stringify(data);
}
],
timeout: 10000 // request timeout
});
2.推荐方法
// request interceptor
service.interceptors.request.use(
config => {
// do something before request is sent
if (window.sessionStorage.getItem("code")) {
// let each request carry token
// ['X-Token'] is a custom headers key
// please modify it according to the actual situation
config.headers["ak"] = window.sessionStorage.getItem("code");
}
return config;
},
error => {
// do something with request error
console.log(error); // for debug
return Promise.reject(error);
}
);