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);
}
);