1.安装

cnpm install axios --save

2.main.js中全局引入

import axios from 'axios'
Vue.prototype.$ajax = axios

3.调用

this.$ajax.get(URL)
.then((response)=>{
  console.log(response);
})
.catch((error)=>{
  console.log(error);
});

局部引入
1.安装以后
2.组件中直接引入

import axios from 'axios'
axios.get('/user?ID=12345')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

4.其他问题
get正常post方式时候后端无法读到值,此时需要引入qs
因为jQuery与axios在post请求中,数据的处理方式并不相同。jQuery默认数据是Form格式,axios则是前后端同构的payload形式,这个区别造成了后台在获取post请求的数据时获取方式不同

import axios from 'axios'
import qs from 'qs'
export function ajaxPost (url, data, callback) {
  axios.post(url, qs.stringify(data))
    .then((res) => {
      if (res.data.retCode === 0) {
        callback(res)
      } else {
        showModalMsg(res.data.retMsg, 'error')
      }
    })
    .catch(function (error) {
      showModalMsg(error, 'error')
    })
}

页面中调用

import { ajaxPost } from '@/utils/api.js'
ajaxPost('/auth/sms-code', {}, function () {
  alert('666')
})
作者 铁血 汉子 2017年12月25日
2019/05/21/09:28:03am 2017/12/25/3:41:41
0 523