在 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 上传到 Symfony?
如何通过从vuejs组件获取数据在Laravel控制器中创建多个行