axios 是 Vue 推荐的一款基于 Promise 的 AJAX 组件。所以我们在使用 Vue 进行项目开发时一般都使用这个库来执行 AJAX 请求。
Promise对象中提供了两个方法 then 和 catch:
配置项 | 说明 |
---|---|
url | 请求地址 |
method | 请求方法,默认是 default |
baseURL | 请求时的基地址 |
headers | 设置 HTTP 头信息 |
params | 请求时 URL 上的参数 |
data | 请求时提交的数据,主要在PUT、POST、PATCH时使用 |
timeout | 请求超时时间,单位:毫秒 |
responseType | 指明服务器返回数据的类型,默认是JSON |
onUploadProgress | 上传文件时处理上传进程的回调函数 |
onDownloadProgress | 下载时处理下载进度的回调函数 |
在发送 AJAX请求前和处理AJAX响应前对数据进行拦截处理
// 在所有请求之前执行的代码
axios.interceptors.request.use(function (config) {
// 处理请求前代码
return config;
}, function (error) {
// Do something with request error
return Promise.reject(error);
});
// 当服务器返回数据时执行的代码
axios.interceptors.response.use(function (response) {
// 请求成功时,拦截的代码
return response;
}, function (error) {
// 请求失败时,拦截的代码
return Promise.reject(error);
});