尽管写了axios.get、axios.post等方法。
我以前更喜欢编写一些通用方法,当我们需要向服务器发起任何请求以从 api 获取数据时需要调用这些方法。
我的示例代码....
创建了一个文件作为 axiosService.js
并在需要时使用此文件,只需使用 ApplicationApiHostServ_Axios 方法和所需的所有参数集。
`/**
* ApplicationApiHostServ_Axios 将返回 json 格式的数据...
* @param {*} url - api 的路径...
* @param {*} 方法 - GET / POST / PUT / DELETE /...
* @param {*} responseType - 应用程序/json /....
* @param {*} data - 包含作为请求传递给 api 服务器的参数。
* @param {*} 回调 - 成功响应时执行的回调方法。
* @param {*} failCallback - 在失败响应时执行的 failCallback 方法。
*/
ApplicationApiHostServ_Axios(url, method, responseType, data, callback, failCallback) {
让 ApplicationApiHost = new ApplicationApiHostServices();
如果(方法=='get'){
this.ApplicationApiHostServ_AxiosGet(url, responseType, data, callback, failCallback);
} else if (method == 'post') {
this.ApplicationApiHostServ_AxiosPost(url, responseType, data, callback, failCallback);
} else if (method == 'put') {
this.ApplicationApiHostServ_AxiosPut(url, responseType, data, callback, failCallback);
} else if (method == 'delete') {
this.ApplicationApiHostServ_AxiosDelete(url, responseType, data, callback, failCallback);
}
}
/**
* ApplicationApiHostServ_AxiosGet will pass a get request, To call an api.
* @param {*} url - Path to api...
* @param {*} responseType - Application/json /....
* @param {*} data - Contains parameters to be passed to api server as request.
* @param {*} callback - A callback method to be ececuted on success response.
* @param {*} failCallback - A failCallback method to be ececuted on fail response.
*/
ApplicationApiHostServ_AxiosGet(url, responseType, data, callback, failCallback) {
axios.get(API_HOST_ADDRESS + url, data)
.then((response) => {
if (isFunction(callback))
callback(response);
})
.catch(function (error) {
if (isFunction(failCallback))
failCallback(error);
else if (process.env.NODE_ENV === 'development')
console.log(error);
});
}
/**
* ApplicationApiHostServ_AxiosPost will pass a post request, To call an api.
* @param {*} url - Path to api...
* @param {*} responseType - Application/json /....
* @param {*} data - Contains parameters to be passed to api server as request.
* @param {*} callback - A callback method to be ececuted on success response.
* @param {*} failCallback - A failCallback method to be ececuted on fail response.
*/
ApplicationApiHostServ_AxiosPost(url, responseType, data, callback, failCallback) {
axios.post(API_HOST_ADDRESS + url, data)
.then(function (response) {
if (isFunction(callback))
callback(response);
})
.catch(function (error) {
if (isFunction(failCallback))
failCallback(error);
else if (process.env.NODE_ENV === 'development')
console.log(error);
});
}
/**
* ApplicationApiHostServ_AxiosPut will pass a put request, To call an api.
* @param {*} url - Path to api...
* @param {*} responseType - Application/json /....
* @param {*} data - Contains parameters to be passed to api server as request.
* @param {*} callback - A callback method to be ececuted on success response.
* @param {*} failCallback - A failCallback method to be ececuted on fail response.
*/
ApplicationApiHostServ_AxiosPut(url, responseType, data, callback, failCallback) {
axios.put(API_HOST_ADDRESS + url, data)
.then(function (response) {
if (isFunction(callback))
callback(response);
})
.catch(function (error) {
if (isFunction(failCallback))
failCallback(error);
else if (process.env.NODE_ENV === 'development')
console.log(error);
});
}
/**
* ApplicationApiHostServ_AxiosDelete will pass a delete request, To call an api.
* @param {*} url - Path to api...
* @param {*} responseType - Application/json /....
* @param {*} data - Contains parameters to be passed to api server as request.
* @param {*} callback - A callback method to be ececuted on success response.
* @param {*} failCallback - A failCallback method to be ececuted on fail response.
*/
ApplicationApiHostServ_AxiosDelete(url, responseType, data, callback, failCallback) {
axios.delete(API_HOST_ADDRESS + url, data)
.then(function (response) {
if (isFunction(callback))
callback(response);
})
.catch(function (error) {
if (isFunction(failCallback))
failCallback(error);
else if (process.env.NODE_ENV === 'development')
console.log(error);
});
}`