基于Axios实现网络异步交互数据请求
发起请求方法?:
XHR、fetch -- 最大的特性是把XHR的回调形式改为了Promise
在业务上应该找一个库,解决了XHR的回调地狱问题、在业务中希望实现对请求权限拦截、统一响应(403 - -没有权限)拦截、
还可以实现一些通用配置
axios这个库是使用Promise实现的一个XHR封装、它可以实现请求和响应拦截,同时可以实现通用配置
主要用点(6个):url(地址),method(请求方式),baseURL(请求地址),timeout(请求时长),params(头部提交token),data(不在get获取请求体)
url:请求地址
method:请求方法
baseURL:所有请求基础地址,使用代理字段,服务器代理
headers:请求头一般放token
timeout:超时配置 --请求需要最大时长
params:参数配置自动拼接到url地址,传参
data:不能用在get请求,它是请求体参数不是get就不写请求
//抽取动态数据 url.method,params,data function ajaxFunc(req){ return new Promise(resolve=>{ //这里放axios请求返回异步操作的成功方式下面 }) } axios.request({ url:req.url, baseURL:'/apis', headers:{token:'test token'}, timeout:5000, params:req.params || {}, data:req.data || {} //}).then(data=>{ //请求返回一个是response对象,希望得到数据 //console.log(data.data) }).then(({data})=>{ //可以对response对象进行结构赋值 //直接返回数据 resolve(data) }).catch(e=>{ console.log('-------'请求失败) }) })

浙公网安备 33010602011771号