在 vuejs 组件中获取 axios base url 的值

Posted

技术标签:

【中文标题】在 vuejs 组件中获取 axios base url 的值【英文标题】:Fetch the value of axios base url in a vuejs component 【发布时间】:2018-05-04 01:32:44 【问题描述】:

我已经像这样在 vuejs 全局配置中设置了我的 axios 配置

const axiosConfig = 
baseURL: 'http://127.0.0.1:8000/api',
timeout: 30000, 
 ;
Vue.prototype.$axios =  axios.create(axiosConfig);

现在我想在组件中检索 basEuRL 的值

<script>
  data:()=>(
     apiurl:this.$axios.baseURL
   )
<script>

但以上不起作用。我希望属性 apiurl 有

http://127.0.0.1:8000/api

【问题讨论】:

axios.defaults.baseURL = 'http://127.0.0.1:8000/api' 在 main.js 中,带有单个文件组件设置。然后在别处使用/something 得到http://127.0.0.1:8000/api/something。 github.com/axios/axios#config-defaults 【参考方案1】:

不知道为什么需要在数据组件中调用baseURL,但我找到了一种使用axios baseURL 的常用方法,例如Vue.js REST API Consumption with Axios:

// http-common.js
import axios from 'axios';

export const HTTP = axios.create(
  baseURL: `http://jsonplaceholder.typicode.com/`,
  headers: 
    Authorization: 'Bearer token'
  
)

然后

import HTTP from './http-common';
HTTP.get(`posts`)
    .then(response => 
      this.posts = response.data
    )
    .catch(e => 
      this.errors.push(e)
    )

【讨论】:

以上是关于在 vuejs 组件中获取 axios base url 的值的主要内容,如果未能解决你的问题,请参考以下文章

从相同的 axios 到不同的组件,VueJS

axios 在 API vuejs 中获取 id

如何使用 Axios 将图像从 VueJS 上传到 Symfony?

如何通过从vuejs组件获取数据在Laravel控制器中创建多个行

使用 Axios 将整个 HTML 项目加载到 VueJS 组件中

Axios 使用 vuejs cli 获取 php 文件不起作用