axios功能的特点:
- 在浏览器中发送 XMLHttpRequests 请求
- 在 node.js 中发送 http请求
- 支持 Promise API
- 拦截请求和响应
- 转换请求和响应数据
- 等等
axios请求方式:
- axios(config)
- axios.request(config)
- axios.get(url[, config])
- axios.delete(url[, config])
- axios.head(url[, config])
- axios.post(url[, data[, config]])
- axios.put(url[, data[, config]])
- axios.patch(url[, data[, config]])
可能需求同时发送两个请求。使用axios.all, 可以放入多个请求的数组
全局配置
在开发中可能很多参数都是固定的。这个时候可以进行一些抽取, 也可以利用axiox的全局配置
常见的配置选项
请求地址 url: '/user'
请求类型 method: 'get'
请根路径 baseURL: 'http://www.mt.com/api'
请求前的数据处理 transformRequest:[function(data){}]
请求后的数据处理 transformResponse: [function(data){}]
自定义的请求头 headers:{'x-Requested-With':'XMLHttpRequest'}
URL查询对象 params:{ id: 12 } (请求方式是get时)
查询对象序列化函数 aramsSerializer: function(params){ }
request body data: { key: 'aa'}(请求方式是post时)
超时设置s timeout: 1000,
跨域是否带Token withCredentials: false,
自定义请求处理 adapter: function(resolve, reject, config){},
身份验证信息 auth: { uname: '', pwd: '12'},
响应的数据格式 json / blob /document /arraybuffer / text / stream responseType: 'json',
axios封装
如何使用拦截器
axios提供了拦截器,用于我们在发送每次请求或者得到相应后,进行对应的处理。