vue 中使用axios报错

点击按钮调接口时报错,我直接在浏览器中调用接口时没有问题的。图片描述

methods: {
          loginCheck: function () {
             this.axios.get("/api/login/getAccount").then(response => {
                console.log(response.data)
            })
          }
        }
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'
import 'font-awesome/css/font-awesome.min.css'
import Mock from './mock'
import store from './vuex/store'
import Vuex from 'vuex'
import axios from 'axios'
import vueAxios from 'vue-axios'

// import VueResource from 'vue-resource'
Mock.bootstrap()

Vue.config.productionTip = false
Vue.use(ElementUI)
Vue.use(Vuex)
// Vue.use(VueResource)
// Vue.prototype.$ajax = axios

// Vue.prototype.$http = axios;
Vue.use(vueAxios, axios)

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  template: '<App/>',
  components: { App }
})

如果引入的是vue-resource 就不会报错,不知道是什么问题。

阅读 7.1k
6 个回答

Vue.prototype.axios = axios 挂载到Vue.prototype才能才页面中用this.axios,另外这是什么 import vueAxios from 'vue-axios',如果也是axios插件那就去掉,重复了,再者axios并不需要Vue.use(axios)这也去掉,此外你的接口有没有在node设置好,如果没有也是不能用的

this.axios.get("/api/login/getAccount")
最前面的this换成Vue,先引入vue

是路由的问题好像 404

试试这样写

// import axios
import axios from 'axios'

// 设置axios请求的默认host
axios.defaults.baseURL = "https://xxx.xxx.xxx/"

// 将axios绑定给vue成为一个属性
Vue.prototype.$http = axios

使用的时候如下

 this.$http.get('路由').then(response=>{})

刚刚试了这几个方案好像都不行,主要问题是,点击的时候不走接口,而是直接报错,在network中什么也没有,点击就报错,使用vue-resource能够正常请求并返回数据,不知道和axios有什么区别。贴下项目链接,麻烦大家有兴趣的的看能不能帮忙看下,多谢大家。项目地址https://github.com/dragonnahs...

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