axios的get请求传入数组参数原理详解

 更新时间:2023年06月12日 14:32:08   作者:alue  
这篇文章主要为大家介绍了axios的get请求传入数组参数原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

axios 发送 get 请求

axios 发送 get 请求的一般方式如下:

axios.get(url,{params:{
    a:1
}})

但是,如果 params 里有数组参数的话,上面的方法就会带来问题。

例如, 这里发送的请求参数 b 是数组:

axios.get(url,{params:{
    a:1,
    b:[1,2]
}})

这时候,后端 Django 用 request.GET.getlist('b') 获取到的参数 b 一直是 [].

原因

原因是对数组的序列化有多种方式,我们需要前后端统一序列化方式,才能够正确解码。

Django 的 request.GET.getlist('b') , 对请求参数 b 的序列化要求是这样子的

b=1&b=2

也就是说,用&连接数组中的元素,这并不是 axios 默认的序列化方法。

解决方法

需要指定 axios 的序列化方式,我们可以用 paramsSerializer 参数指定序列化函数。
更简单的方式是使用 qs 库:

import qs from "qs";
axios.get(url,{
    params:{
        a:1,
        b:[1,2]
    },
    paramsSerializer: function (params) {  
      return qs.stringify(params, { arrayFormat: "repeat" });  
    },
})

以上就是axios的get请求传入数组参数原理详解的详细内容,更多关于axios get请求传入数组参数的资料请关注脚本之家其它相关文章!

相关文章

  • JS返回只包含数字类型的数组实例分析

    JS返回只包含数字类型的数组实例分析

    这篇文章主要介绍了JS返回只包含数字类型的数组实现方法,结合实例形式分析了循环遍历数组及正则匹配两种实现技巧,需要的朋友可以参考下
    2016-12-12
  • JavaScript实现鼠标控制自由移动的窗口

    JavaScript实现鼠标控制自由移动的窗口

    这篇文章主要为大家详细介绍了JavaScript实现鼠标控制自由移动的窗口,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • JavaScript 防抖和节流详解

    JavaScript 防抖和节流详解

    这篇文章主要介绍了JavaScript 防抖和节流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-09-09
  • JavaScript封装LINQ查询方法实战

    JavaScript封装LINQ查询方法实战

    本文主要介绍了通过js-linq库在JavaScript中实现类似.NET LINQ的查询功能,封装Where、Select、OrderBy等方法,提升数组和可迭代对象的数据处理效率与代码可读性
    2025-09-09
  • 微信小程序8种数据通信的方式小结

    微信小程序8种数据通信的方式小结

    这篇文章主要介绍了微信小程序8种数据通信的方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • uniapp中使用vuex的过程(解决uniapp无法在data和template中获取vuex数据问题)

    uniapp中使用vuex的过程(解决uniapp无法在data和template中获取vuex数据问题)

    这篇文章主要介绍了uniapp中使用vuex(解决uniapp无法在data和template中获取vuex数据问题),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • javascript getBoundingClientRect() 来获取页面元素的位置的代码[修正版]

    javascript getBoundingClientRect() 来获取页面元素的位置的代码[修正版]

    该方法已经不再是IE Only了,FF3.0+和Opera9.5+已经支持了该方法,可以说在获得页面元素位置上效率能有很大的提高,在以前版本的Opera和Firefox中必须通过循环来获得元素在页面中的绝对位置。
    2009-05-05
  • js实现的倒计时按钮实例

    js实现的倒计时按钮实例

    这篇文章主要介绍了js实现的倒计时按钮,实例分析了javascript倒计时效果的相关实现技巧,需要的朋友可以参考下
    2015-06-06
  • Firefox 无法获取cssRules 的解决办法

    Firefox 无法获取cssRules 的解决办法

    Firefox 无法获取cssRules 的解决办法...
    2006-10-10
  • 浏览器是如何将HTML、CSS和JS渲染成网页的详解

    浏览器是如何将HTML、CSS和JS渲染成网页的详解

    在前端开发中,了解浏览器如何将 HTML、CSS 和 JavaScript 转换为用户最终看到的页面,对于性能优化、问题排查以及构建高效应用至关重要,这篇文章主要介绍了浏览器是如何将HTML、CSS和JS渲染成网页的相关资料,需要的朋友可以参考下
    2025-09-09

最新评论