关于Axios
Axios
- 是一个基于promise的http库,可以用于浏览器和node.js中
- 可以拦截请求和响应
- 可以转换请求数据和响应数据,并对响应回来的内容自动转换成json类型的数据
- 安全性更高,客户端支持防御xsrf
- 常用方法
- get
- post
- delete
- put
- 相关配置属性
- url:请求地址
- method:请求方法
- baseURL:自定添加在url前面,便于为axios实例方法传递相对url
- headers:自定义请求头
- transformRequest:允许在向服务器发送前,修改请求数据,只能用于put,post和patch这几个请求方法
- params:即将于请求一起发送的url参数,必须是一个无格式对象或urlSearchParams对象
- auth:表示应该使用http基础验证,并提供凭据
- proxy:定义代理服务器的主机名和端口
Axios的二次封装
- 配置通用的基础路径和超时时间
axios.create({baseURL,timeout})
- 显示请求进度条
- 显示:准备发请求前显示,在请求拦截器中执行
NProgress.start()
- 隐藏:请求结束隐藏,在响应拦截器成功/失败回调中执行
NProgress.done()
- 携带token数据
- 成功返回的数据不再是response,而是响应体数据response.data
- 响应拦截器成功的回调中:
return response data
- 统一处理请求,具体请求可以选择处理或不处理