二次封装axios
import axios from 'axios';
const ajax = axios.create({
baseURL: 'http://localhost:1888/',
timeout: 3000,
});
axios.defaults.withCredentials=true;
ajax.interceptors.request.use(
config => {
return config;
},
error => {
return Promise.reject(error)
}
);
ajax.interceptors.response.use(function (res) {
return res.data;
}, function (error) {
return Promise.reject(error);
});
const ajaxPost ={};
ajaxPost.install=function (Vue, options) {
Vue.prototype.get=function(url, query = {}) {
return new Promise(function (resolve, reject) {
ajax.get(url,{
query: query
})
.then(function (res) {
resolve(res.data);
})
.catch(function (error) {
reject(error);
});
});
},
Vue.prototype.post=function(url, data = {}, config) {
return new Promise(function (resolve, reject) {
ajax.post(url,data, config)
.then(function (res) {
resolve(res.data);
})
.catch(function (error) {
reject(error);
});
});
}
};
export default ajaxPost;