位置: IT常识 - 正文

【axios】axios的基本使用(axios用法示例)

发布时间:2024-01-17
【axios】axios的基本使用

推荐整理分享【axios】axios的基本使用(axios用法示例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:axios的方法,axios是,axios的方法,axios有哪些常用方法,axios基本用法,axis等于0,axios有哪些常用方法,axios基本用法,内容如对您有帮助,希望把文章链接给更多的朋友!

axios是一个专注于网络请求的库。 不同于jquery,功能复杂,既可以操作dom,又可以做动画,还可以发ajax请求。axios是一个专注于网络请求的库。

一、基本使用1.导入库文件

在js中导入axios的库文件后,会直接在全局挂载一个axios方法,就可以直接使用了。

<!-- 导入axios的库文件 --><script src="lib/axios.js"></script><script> console.log(axios);</script>

在控制台打印axios可以看到,它是一个方法,我们现在就可以直接使用了。

2.基本语法axios({ //请求方式,'GET'或者'POST' method: 'GET', //请求地址 url: ''}).then(res => {})

axios方法获取的结果是一个Promise对象,测试如下:

const res = axios({ method: 'GET', url: 'http://www.liulongbin.top:3006/api/getbooks'})console.log(res);

既然是一个Promise对象,那么就可以通过 .then的方式拿到获取成功后的结果了。

axios({ method: 'GET', url: 'http://www.liulongbin.top:3006/api/getbooks'}).then(res => console.log(res))

可以看到获取成功了。到此为对基本语法的使用解释。

3.结果分析【axios】axios的基本使用(axios用法示例)

但是,axios方法拿到的结果就是服务器请求到的结果吗?我们使用postman来测试一下。 postman显示的是服务器请求后拿到的返回结果。我们可以看到,和axios拿到的结果并不一样,经过比对,我们可以发现,axios拿到的对象结果中有一个data属性,那里面放着的才是服务器请求的真正的返回结果。

到此,我们可以得到axios拿到的对象结果和服务器请求的真正的返回结果之间的关系: 要想直接拿到真实数据的格式,只需要res.data。

4.参数传递

【基本语法】 params中写GET方法的传参,data中写POST方法的传参。

axios({ //请求方式,'GET'或者'POST' method: 'GET', //请求地址 url: '', //url中的查询参数,GET方法的传参 params: {}, //请求体参数,POST方法的传参 data: {}}).then(res => {})

get传参演示:

axios({ method: 'GET', url: 'http://www.liulongbin.top:3006/api/getbooks', params: { id: 1 },}).then(res => console.log(res))

post传参演示:

axios({ method: 'POST', url: 'http://www.liulongbin.top:3006/api/post', data: { name: 'zs', age: 20 },}).then(res => console.log(res))

5.方法简化

(1)通过async和await的方式直接拿到返回值

因为axios方法获取的结果是一个Promise对象,所以我们可以通过async和await的方式直接拿到返回值,不需要再通过调用.then的方式了。

给’#btnGet’按钮绑定一个点击事件,点击后发起axios请求。通过async和await的方式可以直接拿到返回值。

document.querySelector('#btnGet').addEventListener('click', async function () { const res = await axios({ method: 'GET', url: 'http://www.liulongbin.top:3006/api/getbooks', // params: { // id: 1 // } }) console.log(res);})

(2)解构赋值拿到服务器请求到的真正数据 由第3小节我们知道,axios拿到的对象结果在服务器请求到的真正数据外面套了一层壳子,存在它的data属性中,我们可以通过对象解构的方式直接拿到服务器请求到的真正数据。

document.querySelector('#btnGet').addEventListener('click', async function () { const {data} = await axios({ method: 'GET', url: 'http://www.liulongbin.top:3006/api/getbooks', }) console.log(data);})

(3)解构赋值重命名 服务器请求到的真正数据有三个属性,data,status,msg,其中data是我们最关心的,存着需要的数据项,我们只希望取到这个data数组,这个比较简单,因为解构赋值已经拿到服务器请求到的真正数据了,并存在data变量中,所以只需要访问这个变量的data属性就能拿到,即data.data,但是这样很容易混淆, 所以我们在解构赋值的时候给data换个名字 { data: res } 。

document.querySelector('#btnGet').addEventListener('click', async function () { const { data: res } = await axios({ method: 'GET', url: 'http://www.liulongbin.top:3006/api/getbooks', }) console.log(res.data);})

6.axios直接发起GET请求和POST请求

基本语法:

//axios直接发起GET请求axios.get('url地址', { //GET参数 params: {}})//axios直接发起POST请求axios.post('url地址', { //POST参数 })

示例:

document.querySelector('#btnGet').addEventListener('click', async function () { const { data: res } = await axios.get('http://www.liulongbin.top:3006/api/getbooks', { params: { id: 1 } }) console.log(res.data);})document.querySelector('#btnPost').addEventListener('click', async function () { const { data: res } = await axios.post('http://www.liulongbin.top:3006/api/post', { name: 'zs', gender: '女' }) console.log(res);})
本文链接地址:https://www.jiuchutong.com/zhishi/299985.html 转载请保留说明!

上一篇:详解Promise使用(promise基本使用)

下一篇:人工智能这么厉害,比如GPT-4,为什么没有看到程序员失业?(人工智能怎么做出来的)

  • 在建工程转固定资产需要交税吗
  • 息税前利润含义
  • 固定资产更新改造资本化条件
  • 幼儿园属于小型幼儿吗
  • 一般纳税人印花税税率是多少
  • 子公司注销母公司合并报表处理
  • 个人代开房租普票需要缴纳哪些税种?
  • 处置车辆收入缴税规定
  • 税务房屋租赁发票图片
  • 其他公司归还货款会计分录
  • 计划成本法下会计分录
  • 应付账款预收账款
  • 公司委托其他公司代缴社保合法吗
  • 专用发票与普通发票代码区别
  • 不抵扣的发票怎么导入做账系统
  • 哪些票据可以冲抵增值税
  • 被强制升为一般纳税人的条件
  • 产品配件属于什么会计科目
  • win10怎么手动修改时间
  • 委托加工代收代缴增值税吗
  • uc浏览器缓存视频删除了还占内存
  • 工程投标保证金最新规定
  • win10平板模式怎么打开
  • 政策性退税申请怎么写
  • 出口货物退免税证明办税进度
  • 宣告分配现金股利和股票股利的区别
  • 政府会计制度中固定资产报废的账务处理
  • 期末余额跟年初余额是什么意思
  • continue命令必须与locate
  • thinkphp d方法
  • php异常处理方法
  • vuecli怎么使用自定义组件
  • 2、springboot+mybatis+ajax+pageHelper+idea+maven(全套增删改查)
  • mysql自动生成id
  • 小规模小于30万之前计提的税金及附加税
  • 房屋租赁发票品目填写规范
  • 用友删除凭证后为什么还在
  • 可以采用
  • 公司固定资产抵押贷款无法偿还
  • 高新企业奖励金怎么开票
  • 计提费用账务处理
  • acca中ebq等于
  • 商品流通环节包括
  • 残保金申报常见问题
  • 交易性金融资产的账务处理
  • 应交税金的负数重分类
  • 挂靠单位账务处理是?
  • 厂房违建如何处理
  • 营改增后如何纳税
  • 债券溢价摊销有什么影响
  • 所得税汇算清缴退税会计分录怎么做
  • 交车辆购置税需要什么材料
  • 短期借款利息计提分录怎么写
  • 公司购买的打印机附赠给客户进项税可以抵扣吗
  • 车子的上牌费要计入成本吗
  • 施工图审查费计入什么会计科目
  • 登记三栏式现金日记账和银行存款日记账的依据
  • 企业预提费用是什么科目
  • tcpsyncookies
  • ubuntu crontab
  • window10电话
  • ubuntu服务器安装matlab2014a环境配置
  • diskgenius分区linux
  • windows8 enterprise
  • Win10系统如何使用无线网卡上网 win10台式机使用无线网卡上网的两种方法图文教程
  • shell脚本运行linux命令
  • vue 全局状态
  • linux监控程序
  • jquery escape
  • js中ajax完整例子
  • jquery对动态生成的进行操作
  • js原生方法大全
  • 江苏省国家税务局电话号码
  • 陕西社保费管理客户端初始密码
  • 河南掌上登记手机号换了,登录不进去怎么办
  • 为什么要征收城乡土地
  • 国税局江西省税务局
  • 太原市地税局各分局局长
  • 个人所得税没申报会退吗
  • 襄阳市疫情防控中心电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号