最近有這樣一個(gè)需求,需要在axios實(shí)例化后,動(dòng)態(tài)設(shè)定baseurl。
第一個(gè)想到的辦法就是在攔截器里設(shè)置:
// 添加請求攔截器
// token 在登錄成功后保存到Session Storage
service.interceptors.request.use(function (config) {
const token = sessionStorage.token
if (token) {
config.headers.common['Authorization'] = `Bearer ${sessionStorage.token}`
}
//根據(jù)vuex store內(nèi)容動(dòng)態(tài)設(shè)置baseurl
config.baseURL = store.getters.baseUrl
return config
}, function (error) {
// 對請求錯(cuò)誤做些什么
return Promise.reject(error)
})
發(fā)現(xiàn)不起作用。
最后發(fā)現(xiàn),直接設(shè)置url即可:
把上面的config.baseURL = store.getters.baseUrl換成config.url = store.getters.baseUrl + config.url即可

效果