最近项目中需要使用Axios,在阅读Axios文档时,发现文档笔记杂乱。现按照个人理解重新梳理。
Axios是什么?
" Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
Axiso是一个基于promise的数据请求和传输工具;它集合了Ajax和HTTP;能够用于客户端和后台。
安装
使用 npm:
$ npm install axios --save
axios API
在使用axios时,我们可以传入一个配置参数对象,但是对于get和post请求,两者具体配置有所不同;
常用配置项说明
{
// `url` 是用于请求的服务器 URL
url: '/user',
// `method` 是创建请求时使用的方法
method: 'get', // 默认是 get
// `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
// 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
baseURL: 'https://some-domain.com/api/',
// `params` 是即将与请求一起发送的 URL 参数,配置在Get请求中
// 必须是一个无格式对象(plain object)或 URLSearchParams 对象
params: {
ID: 12345
},
// `validateStatus` 定义对于给定的HTTP 响应状态码是 resolve 或 reject promise 。如果 `validateStatus` 返回 `true` (或者设置为 `null` 或 `undefined`),promise 将被 resolve; 否则,promise 将被 rejecte
validateStatus: function (status) {
return status >= 200 && status < 300; // 默认的
},
// `data` 是作为请求主体被发送的数据,只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'
data: {
firstName: 'Fred'
},
// `headers` 是即将被发送的自定义请求头
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `withCredentials` 表示跨域请求时是否需要使用凭证
withCredentials: false, // 默认的
// `withCredentials` 表示跨域请求时是否需要使用凭证
withCredentials: false, // 默认的
配置的默认值/defaults
全局状态下
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
axios.defaults.withCredentials = true;
网友评论