vue axios整合使用全攻略 惯例先安装axios,不多说! cnpm install axios 1.axios配置 我的目录结构src/axios/index.js,axios配置都在该文件下 src/axios/index.js 如下: import axios from 'axios' import qs from 'qs' // axios 配置 axios.defaults.timeout = 5000; axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; axios.defaults.baseURL = 'http://localhost:8008'; 拦截器,axios.interceptors.request.use发送请求前处理 axios.interceptors.response.use接受返回后,回调之前处理处理 //POST传参序列化 axios.interceptors.request.use((config) => { if(config.method === 'post'){ config.data = qs.stringify(config.data); } return config; },(error) =>{ return Promise.reject(error); }); //返回状态判断 axios.interceptors.response.use((res) =>{ if(!res.data.success){ return Promise.reject(res); } return res; }, (error) => { //404等问题可以在这里处理 return Promise.reject(error); }); 公共方法: export function fetch(url, params) { return new Promise((resolve, reject) => { axios.post(url, params) .then(response => { resolve(response.data); }, err => { reject(err); }) .catch((error) => { reject(error) }) }) } 业务方法: export default { getAddressJson() { return fetch('/address/',{addressId:1}) } } 如果不理解可以将以上代码依次copy到src/axios/index.js文件,当然axios.defaults.baseURL = 'http://localhost:8008'; 需要换成自己的api。 2全局注册axios 为了使用axios,在各个组件中引入就可以使用: import axios from './axios' 但是使用这种方法我们需要在每一个组件中去引入,有些麻烦,下面我们介绍一种全局注册的方法。 在main.js中: import axios from './axios' Vue.prototype.$axios = axios 添加这两行代码,将 axios 改写为 Vue 的原型属性,这样在各个组件中都可以使用axios,具体方法如下: submitForm () { this.$axios.getAddressJson().then(function (res) { //成功之后处理逻辑 console.log(res) },function (res) { //失败之后处理逻辑 console.log("error:"+res) }) } 总结 以上所述是小编给大家介绍的vue axios整合使用全攻略,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对中文源码网网站的支持!