基于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('-------'请求失败) }) })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!