差点断更,最近换了新公司,新项目用的vue1,花了4天时间升级了大部分页面到vue2;
在main.js中导入axios,并在vue的原型上添加该实例:
import axios from 'axios'
Vue.prototype.$ajax = axios;
当然Vue.prototype.$ajax也可以换成Vue.prototype.http,你开心就好,或者这个姿势也不错Vue.prototype.sb
在项目中使用:
this.$ajax({
method: 'post',
url: '',
}).then(response => {
});
接下来我们要添加拦截器,比如添加token、错误拦截、接口网址ip
axios.interceptors.request.use(function (config) {
config.method是获取请求方式(get;post)
return config;
}, function (error) {
return Promise.reject(error);
});//请求拦截器
axios.interceptors.response.use(response => {
return response.data;//响应返回参数
}, (responseError) => {//响应错误
responseError.status;//响应错误状态码
});//响应拦截器
配置信息肯定是单独的一个文件,不可能写在main.js中
新建config.js
import axios from 'axios'
axios.defaults.baseURL = 'http://127.0.0.0/';
axios.interceptors.request.use(function (config) {
return config;
},
function (error) {
return Promise.reject(error);
});//请求拦截器
axios.interceptors.response.use(response => {
return response.data;
}, (responseError) => {
});//响应拦截器
main.js
import axios from 'axios'
import config from './router/axios/config'
Vue.prototype.$ajax = axios;