axios动态设置baseUrl

最近有这样一个需求,需要在axios实例化后,动态设定baseurl。
第一个想到的办法就是在拦截器里设置:

// 添加请求拦截器
// token 在登录成功后保存到Session Storage
service.interceptors.request.use(function (config) {
  const token = sessionStorage.token
  if (token) {
    config.headers.common['Authorization'] = `Bearer ${sessionStorage.token}`
  }
   //根据vuex store内容动态设置baseurl
   config.baseURL = store.getters.baseUrl
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})

发现不起作用。
最后发现,直接设置url即可:
把上面的config.baseURL = store.getters.baseUrl换成config.url = store.getters.baseUrl + config.url即可

效果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 瘦人碗子阅读 167评论 0 1
  • 它们自出生便相依在一起。一天,海岸边的潮水翻涌,沙在浪潮中轻轻抚摸着贝的身躯,说道:“阿贝,采沙人即将来到...
    正版歌阙阅读 192评论 0 0