解析为什么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两个参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 微信小程序之判断页面滚动方向的示例代码

    微信小程序之判断页面滚动方向的示例代码

    这篇文章主要介绍了微信小程序之判断页面滚动方向的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • JavaScript延迟加载之async与defer的应用

    JavaScript延迟加载之async与defer的应用

    这篇文章主要介绍了JavaScript延迟加载之async与defer的应用场景与使用区别的介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • JS严格模式原理与用法实例分析

    JS严格模式原理与用法实例分析

    这篇文章主要介绍了JS严格模式原理与用法,结合实例形式分析了JS严格模式基本概念、原理、用法及相关操作注意事项,需要的朋友可以参考下
    2020-04-04
  • JS 箭头函数的this指向详解

    JS 箭头函数的this指向详解

    这篇文章主要给大家介绍了关JS 箭头函数的this指向,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-11-11
  • 使用uni-app开发微信小程序的实现

    使用uni-app开发微信小程序的实现

    这篇文章主要介绍了使用uni-app开发微信小程序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • javascript 事件绑定问题

    javascript 事件绑定问题

    在子页面(<iframe></iframe>)创建父级事件!当子页面(<iframe></iframe>)被销毁!子页面(<iframe></iframe>)创建父级事件也会被销毁!
    2011-01-01
  • JavaScript中的方法重载实例

    JavaScript中的方法重载实例

    这篇文章主要介绍了JavaScript中的方法重载实例,本文直接给出重载实例,需要的朋友可以参考下
    2015-03-03
  • JS延时器提示框的应用实例代码解析

    JS延时器提示框的应用实例代码解析

    这篇文章主要介绍了JS延时器提示框的应用实例代码解析 的相关资料,需要的朋友可以参考下
    2016-04-04
  • 常用js字符串判断方法整理

    常用js字符串判断方法整理

    js常用方法及字符串的常用判断方法都是在工作中经常用到的,在本文整理了一些,感兴趣的朋友可以参考下
    2013-10-10
  • 使用GruntJS构建Web程序之构建篇

    使用GruntJS构建Web程序之构建篇

    前一篇记录了Grunt的安装,这篇介绍下怎么使用Gruntjs来搭建一个前端项目,然后使用grunt合并,压缩JS文件。
    2014-06-06

最新评论