更改 axios 的默认基本 url

新手上路,请多包涵

我已经像这样配置了我的 axios

 const axiosConfig = {
  baseURL: 'http://127.0.0.1:8000/api',
  timeout: 30000,
};

Vue.prototype.$axios = axios.create(axiosConfig)

在我的组件中,我拨打电话

this.$axios.get('items').then()..

现在上述工作,但我想更改 baseURL 而不影响全局基本 URL,以便在我的组件中我可以在没有 API 端点的情况下简单地使用它,所以

我试过了

this.$axios.baseURL = "http://127.0.0.1:8000";
this.$axios.get().. //this is still in api endpoint

我该怎么做?

原文由 Geoff 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 700
2 个回答

代替

this.$axios.get('items')

利用

this.$axios({ url: 'items', baseURL: 'http://new-url.com' })

如果你不通过 method: 'XXX' 那么默认情况下,它将通过 get 方法发送。

请求配置: https ://github.com/axios/axios#request-config

原文由 Vipin Kumar 发布,翻译遵循 CC BY-SA 3.0 许可协议

把我的两分钱放在这里。我想在不为我的特定请求硬编码 URL 的情况下做同样的事情。所以我想出了这个解决方案。

要将 'api' 附加到我的 baseURL,我将默认 baseURL 设置为,

 axios.defaults.baseURL = '/api/';

然后在我的具体请求中,明确设置方法和url后,我将baseURL设置为 '/'

 axios({
    method:'post',
    url:'logout',
    baseURL: '/',
   })
   .then(response => {
      window.location.reload();
   })
   .catch(error => {
       console.log(error);
   });

原文由 Shahbaz A. 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题