解析为什么axios会有params和data两个参数

 更新时间:2023年10月27日 10:32:21   作者:程序员超超  
本文给大家分享为什么axios会有params和data两个参数,先来回顾一下axios的基本使用,怎么发送一个请求,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

不知道大家有没有过这种感觉,突然一个问题百思不得其解,然后突然有一天就明白了。然后就感觉这个问题原来这么简单,本来想记录下来,但是又感觉这么简单的问题记录下来没啥意义。但是回过头来想一想,这个问题之前其实困扰了你很长时间。感觉还是记录一下比较好,万一哪一天突然对这个问题有了新的扩展呢?

先来回顾一下axios的基本使用,怎么发送一个请求:

发送get请求

// 发送的链接就是 https://www.baidu.com?a=1
axios.get('https://www.baidu.com', { params: { a: 1 } })
// 或者这样
axios({
  method: "get",
  url: 'https://www.baidu.com',
  params: { a: 1 }
})
// 如果发送一个带请求头的就是这样
axios.get('https://www.baidu.com', { params: { a: 1 }, headers: { token: "123" } })
// 或者这样
axios({
  method: "get",
  url: 'https://www.baidu.com',
  params: { a: 1 },
  headers: { token: "111" }
})

发送post请求

axios.post('https://www.baidu.com', { a: 1 })
// 或者这样
axios({
  method: "post",
  url: 'https://www.baidu.com',
  data: { a: 1 }
})
// 如果发送一个带请求头的就是这样
axios.post('https://www.baidu.com', { a: 1 }, { headers: { token: "123" } })
// 或者这样
axios({
  method: "post",
  url: 'https://www.baidu.com',
  data: { a: 1 },
  headers: { token: "111" }
})

这里我们可以发现

axios.get可以传递两个参数 url其他参数
axios.post可以传递三个参数 url请求发出去的参数其他参数

好像不方便记忆,一会传2个,一会传3个的。所以一般情况下,即使是对项目封装网络请求,我也会使用axios()去封装,而不是使用axios.getaxios.post

那么使用axios(),get请求时如果给请求传一些参数,那么可以使用params,例如:

axios({
  method: "get",
  url: 'https://www.baidu.com',
  params: { a: 1 }
})

而使用post的时候需要使用data,例如:

axios({
  method: "post",
  url: 'https://www.baidu.com',
  data: { a: 1 }
})

好奇挂啊,为什么不能使用同一个参数呢?其实paramsdata有各自的使用意义。

params是拼接在url后面的参数
data是请求体里面的参数

例如发送post的时候

axios({
  method: "post",
  url: 'https://www.baidu.com',
  data: { a: 1 },
  params: { a: 2 }
})

上面例子a=1会放在url后面拼接,而a=2会在请求体中。所以paramsdata其实是各司其职的。

那么再来看一下,如果像使用axios.post,我既想在url后面拼接参数,又想在请求体里面有参数,该怎么写呢?

axios.post('https://www.baidu.com', { a: 1 }, { params: { a: 1 }, headers: { token: "123" } })

所以还是感觉直接调用axios好用

到此这篇关于为什么axios会有params和data两个参数的文章就介绍到这了,更多相关axios params和data两个参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • ES6新增数据结构WeakSet的用法详解

    ES6新增数据结构WeakSet的用法详解

    WeakSet和Set类似,同样是元素不重复的集合,它们的区别是WeakSet内的元素必须是对象,不能是其它类型。接下来通过本文给大家详细介绍ES6新增数据结构WeakSet的用法,感兴趣的朋友一起看看吧
    2017-08-08
  • js实现简单的选项卡效果

    js实现简单的选项卡效果

    本文主要介绍了js实现简单的选项卡效果的示例代码,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • arctext.js实现文字平滑弯曲弧形效果的插件

    arctext.js实现文字平滑弯曲弧形效果的插件

    这篇文章主要介绍了arctext.js实现文字平滑弯曲弧形效果的插件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • JavaScript中的LHS和RHS分析详情

    JavaScript中的LHS和RHS分析详情

    这篇文章主要介绍了JavaScript中的LHS和RHS分析详情,​LHS​​是赋值操作即可以看做是在往内存中存储值,而​​RHS​​是取值操作,它是从内存中进行检索,下文更多相关资料介绍需要的小伙伴可以参考一下
    2022-04-04
  • 10 种最常见的 Javascript 错误(频率最高)

    10 种最常见的 Javascript 错误(频率最高)

    本文是小编给大家收藏的JavaScript 中频度最高的 10 种错误,我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生。需要的朋友参考下
    2018-02-02
  • js将字符转换为UTF-8字符的工具

    js将字符转换为UTF-8字符的工具

    在下面的文本框中输入中文文字,按“转化”,即可将其转化为UTF-8字符。
    2010-06-06
  • JavaScript仿小米实现球体分解动画

    JavaScript仿小米实现球体分解动画

    用过小米手机的应该见过它的垃圾清理ui界面吧,本文将利用JavaScript模拟这一界面实现球体分解动画,感兴趣的小伙伴可以学习一下
    2022-06-06
  • JS实现小米轮播图

    JS实现小米轮播图

    这篇文章主要为大家详细介绍了JS实现小米轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 微信小程序 扭蛋抽奖机css3动画实现详解

    微信小程序 扭蛋抽奖机css3动画实现详解

    这篇文章主要介绍了微信小程序 扭蛋抽奖机css3动画实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Javascript remove 自定义数组删除方法

    Javascript remove 自定义数组删除方法

    Javascript自定义数组删除方法remove(),需要的朋友可以参考下。
    2009-10-10

最新评论