首页 > 技术文章 > axios 封装

liuliang389897172 2019-02-28 14:51 原文

import axios from 'axios'
import qs from 'qs'

export function Get(url, data) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: data
}).then((res) => {
if (res) {
//成功回调
resolve(res);
}
}).catch((error) => {
reject(error);
})
})
}


export function Post(url, data) {
return new Promise((resolve, reject) => {
axios.post(url, qs.stringify(data), {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json'
}
}).then((res) => {
if (res) {
//成功回调
resolve(res);
}
}).catch((error) => {
reject(error);
})

})
}

export function PostFlie(url, data) {
return new Promise((resolve, reject) => {
//根据data对象生成FormData对象
var temp = new FormData();
for (var t in data) {
temp.append(t, data[t]);
}
axios.post(url, temp).then((res) => {
if (res) {
resolve(res.Data);
}
}).catch((error) => {
reject(error);
})
})
}
 
使用
this.Post('api/v1/user/resetPass',data).then((res)=>{
console.log(res)
})
 
 
 
main.js
 
// 二次封装
import {Get,Post,PostFlie} from './server/http'
Vue.prototype.Post=Post;
Vue.prototype.Get=Get;
Vue.prototype.PostFile=PostFlie;
 

推荐阅读