使用vue-resource,我们可以在main.js
中设置根网址,如下所示:
Vue.http.options.root = 'http://localhost:3000/api'
我尝试将其替换为:
axios.defaults.baseURL = 'http://localhost:3000/api';
Vue.prototype.$http = axios
但是,现在我的帖子调用无法按预期工作,Vue.http.post
会引发错误。
这是如何实现的?
答案 0 :(得分:6)
使用axios,可以创建另一个实例having a custom config
var my_axios = axios.create({
baseURL: 'http://localhost:3000/api',
});
从此处可以使用my_axios
进行操作。您可以将自定义axios实例原型化为Vue:
Vue.prototype.$http = my_axios
答案 1 :(得分:1)
import axios from 'axios';
export const HTTP = axios.create({
baseURL: `http://localhost:3000/api/`,
headers: {
Authorization: 'Bearer {token}'
}
})
您现在可以像这样使用HTTP
<script>
import {HTTP} from './http-common';
export default {
data: () => ({
posts: [],
errors: []
}),
created() {
HTTP.get(`posts`)
.then(response => {
this.posts = response.data
})
.catch(e => {
this.errors.push(e)
})
}
}
</script>