axios 封装
来自:https://www.jianshu.com/p/68d81da4e1ad 侵删
import axios from 'axios' import qs from 'qs' let baseurl = 'http://localhost:8081/api' function getRequest (apiPath, params, successCallback, errorCallback) { let url = baseurl + apiPath let req = axios.get(url, { params: params, paramsSerializer: params => { return qs.stringify(params, { indices: false }) }}) thenResponse(req, successCallback, errorCallback) } function postRequest (apiPath, params, successCallback, errorCallback) { let url = baseurl + apiPath let req = axios.post(url, qs.stringify(params, { indices: false })) thenResponse(req, successCallback, errorCallback) } function putRequest (apiPath, params, successCallback, errorCallback) { let url = baseurl + apiPath // var params = new URLSearchParams() // params.append('status', 0) let req = axios.put(url, qs.stringify(params, { indices: false })) thenResponse(req, successCallback, errorCallback) } function deleteRequest (apiPath, params, successCallback, errorCallback) { let url = baseurl + apiPath let req = axios.delete(url, { params: params, paramsSerializer: params => { return qs.stringify(params, { indices: false }) }}) thenResponse(req, successCallback, errorCallback) } /** * 请求结果处理 * @param axiosRequest * @param successCallback * @param errorCallback */ function thenResponse (axiosRequest, successCallback, errorCallback) { axiosRequest.then((res) => { if (res.status === 200) { res = res.data if (res.code === 0) { if (successCallback) successCallback(res) } else { if (errorCallback) errorCallback(res.code, res.msg) } } }).catch((error) => { if (errorCallback) errorCallback(-1, error.message) }) } export { getRequest, postRequest, putRequest, deleteRequest }
调用
//导入封装axios的js文件 import {getRequest, deleteRequest} from 'utils/api' //发送delete请求,带数组参数 与 普通参数 deleteRequest('/admin/user/del', { token: ‘SDFSDIFJSIODFKMSDOFM,SDOPFK’, ids: [1,2,3,4,5,6] }, function (res) { _this.$alert('删除成功') }, function (errcode, errmsg) { _this.$alert('code ' + errcode + ' ,meaasge ' + errmsg) }) //发送GET请求 getRequest('/admin/users', { status: 0, pageNum: this.currentPage, pageSize: count, token: '111' }, function (res) { _this.totalPage = res.data.total }, function (errcode, errmsg) { _this.$alert('code ' + errcode + ' ,meaasge ' + errmsg) })