首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从vue-resource切换到axios

从vue-resource切换到axios
EN

Stack Overflow用户
提问于 2017-01-27 01:58:01
回答 2查看 8K关注 0票数 8

使用vue-resource,我们可以在main.js中设置根url,如下所示:

代码语言:javascript
复制
Vue.http.options.root = 'http://localhost:3000/api'

我尝试将其替换为:

代码语言:javascript
复制
axios.defaults.baseURL = 'http://localhost:3000/api';
Vue.prototype.$http = axios

然而,现在我的post调用不能像预期的那样工作,并且Vue.http.post抛出一个错误。

这是如何实现的?

EN

回答 2

Stack Overflow用户

发布于 2017-01-27 16:23:42

使用axios,可以创建另一个实例having a custom config

代码语言:javascript
复制
var my_axios = axios.create({
  baseURL: 'http://localhost:3000/api',
});

从这里可以使用my_axios进行操作。您可以将自定义axios实例原型化为Vue:

代码语言:javascript
复制
Vue.prototype.$http = my_axios
票数 6
EN

Stack Overflow用户

发布于 2017-04-30 12:58:39

代码语言:javascript
复制
import axios from 'axios';

export const HTTP = axios.create({
  baseURL: `http://localhost:3000/api/`,
  headers: {
    Authorization: 'Bearer {token}'
  }
})

您现在可以像这样使用HTTP

代码语言:javascript
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41879928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档