調用 ...
來自: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) })