Axios中文文档
一、简介
Axios 是一个基于Promise的网络请求库,可以用于浏览器和node.js,它以其简洁的API、较小的包尺寸以及易于扩展的接口而广受欢迎,无论是在浏览器中创建XMLHttpRequests,还是在node.js中创建http请求,Axios都能轻松应对。
二、基本用例
发起一个GET请求
const axios = require('axios'); // 向给定ID的用户发起请求 axios.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .finally(function () { // 总是会执行 });
支持async/await用法:
async function getUser() { try { const response = await axios.get('/user?ID=12345'); console.log(response); } catch (error) { console.error(error); } }
发起一个POST请求
axios({ method: 'post', url: '/user/12345', data: { firstName: 'Fred', lastName: 'Flintstone' } });
发起一个Multipart实体请求
axios.post('/user/12345/profile', { firstName: 'Fred', lastName: 'Flintstone', avatar: 'path/to/file.jpg' // 文件路径 }, { headers: { 'Content-Type': 'multipart/form-data' } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });
发起一个带有响应类型的请求
axios({ method: 'get', url: '/user/12345/album', responseType: 'stream' // 设置响应类型为流 }) .then(function (response) { response.data.pipe(fs.createWriteStream('ada_lovelace.jpg')); // 将响应数据写入文件 }) .catch(function (error) { console.log(error); });
三、Axios API
配置项
参数名 | 类型 | 默认值 | 描述 |
url | string | 请求地址 | |
method | string | 'get' | HTTP方法(get, post, put, patch, delete, options, head) |
baseURL | string | '' | API的基础URL |
transformRequest | Array |
[func] | 在向服务器发送请求之前,修改请求数据 |
transformResponse | Array |
[func] | 在写入响应数据之前,修改响应数据 |
headers | Object | {} | 自定义请求头 |
params | Object | {} | URL参数 |
paramsSerializer | Function | (params => encodeURIComponent(params)) | URL参数序列化函数 |
data | any | {} | 作为请求主体发送的数据 |
timeout | number | 0 | 请求超时时间(毫秒) |
withCredentials | boolean | false | 表示跨域请求时是否需要使用凭证 |
... | ... | ... | ... |
实例方法
axios.get(url[, config]): 发起一个GET请求。
axios.delete(url[, config]): 发起一个DELETE请求。
axios.head(url[, config]): 发起一个HEAD请求。
axios.options(url[, config]): 发起一个OPTIONS请求。
axios.post(url[, data[, config]]): 发起一个POST请求。
axios.put(url[, data[, config]]): 发起一个PUT请求。
axios.patch(url[, data[, config]]): 发起一个PATCH请求。
四、拦截器
Axios允许使用拦截器来处理请求或响应,拦截器分为请求拦截器和响应拦截器。
添加请求拦截器
axios.interceptors.request.use(function (config) { // 在发送请求之前做些什么 return config; }, function (error) { // 对请求错误做些什么 return Promise.reject(error); });
添加响应拦截器
axios.interceptors.response.use(function (response) { // 对响应数据做点什么 return response; }, function (error) { // 对响应错误做点什么 return Promise.reject(error); });
五、取消请求
可以使用CancelToken来取消请求。
const CancelToken = axios.CancelToken; let cancel; axios.get('/user/12345', { cancelToken: new CancelToken(function (c) { cancel = c; }) }); // 取消请求 cancel('请求已取消');
六、错误处理
Axios会抛出错误而不是返回错误,可以通过try...catch语句来捕获这些错误。
try { const response = await axios.get('/user/12345'); } catch (error) { console.error(error); }
七、注意事项
Axios是基于Promise的,所以在CommonJS中使用require时为了获得TypeScript智能感知(autocomplete)/自动完成功能,请确保您的方法如下所示:
const axios = require('axios').default;
各位小伙伴们,我刚刚为大家分享了有关“axios中文文档”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/648152.html