传参是数组

日常开发过程中,我们经常碰到参数是数组的情况。如果这时候接口method为post,那么就没什么问题,参数会被放到body里面。但当method为get时,参数会拼接到url上面,这时候如果不做出来处理会报400,导致接口出错。

引入qs

其实解决这个问题很简单,我们只要在传参前用qs处理一下即可。我们先简单了解一下qs,qs是可以将普通的object序列化为一个查询字符串,还可以反过来将查询字符传解析为一个Object。所以通过qs的序列化我们就能把传参中的数组处理。

解决方法

首先我们在项目中引入qs,npm i qs 或者yarn add qs。然后再axios请求前加上下面的代码即可。

if (config.method === 'get') {// If method is get,and params is Array(arr[1,2]), transform arr=1 & arr=2config.paramsSerializer = function(params) {return qs.stringify(params, { arrayFormat: 'repeat' })}}

需要说明的是,这个是对axios进行了二次封装,放在axios的请求拦截axios.interceptors.request里面的。如果直接用的aixos的话,我们直接用qs处理一下参数即可。

query = qs.stringify(params,{arrayFormat:'repeat'})

解决get传参有数组问题相关推荐

  1. jmeter测试接口--form表单提交请求(解决请求传参为空的问题)

    jmeter测试接口--form表单提交请求(解决请求传参为空的问题) 参考文章: (1)jmeter测试接口--form表单提交请求(解决请求传参为空的问题) (2)https://www.cnbl ...

  2. 一篇让你弄明白C语言指针传参和数组传参~

    文章目录 前言 ⭐️指针传参和数组传参 ⭐️一维数组传参 ⭐️一级指针传参 ⭐️一道经典的指针传参相关题目 ⭐️二维数组传参 ⭐️函数指针!!! ⭐️一个有趣的代码!(*(void( * )())0) ...

  3. 解决POSTMAN传参报错,JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of START_OB

    前言:使用POSTMAN自测代码以便前后端联调时,发送请求后,BOOM!!!服务器抛了个这样式的东西出来. Resolved [org.springframework.http.converter.H ...

  4. python 传参 数组_python传参为数组-女性时尚流行美容健康娱乐mv-ida网

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 python 替换字符 为 空 ...

  5. jfinal ajax传值,JFINAL+Ajax传参 array 数组方法 获取request中数组操作

    前台代码js var _list =[]; for (var i = 0; i < array.length; i++) { _list[i] = array[i]; } $.ajax({ ty ...

  6. 数组传参(一维数组、二维数组)

            目录 1.一维数组传参 2.二维数组传参 1.一维数组传参 调用方式以及传递参数如下,我们需要考虑的是如何设计这个函数,不同的理解方式会有不同的设计方式.下面就从两个角度来设计 int ...

  7. C/C++ 一维数组的传参/一级指针的传参 二维数组的传参/二级指针的传参 三维数组的传参/三级指针的传参 方法总结分析终极篇

    序 最近复习c/c++数组的传参,发现了一些问题,下面是一些总结和思考 正文 一维数组的传参/一级指针的传参/普通指针 在理解指针的基础上,一维数组的指针传递很简单,我们知道数组的数组名就是这个数组首 ...

  8. 指针进阶(指针与数组传参、数组指针与指针数组、函数指针数组、回调函数的辨析)

    指针 指针作为C语言中极具代表性的特征之一,也是C语言学习中的一大难点. 简单来说,指针我们需了解的最基础的即: 指针是一个用来存放地址的变量,地址唯一标识一块内存空间. 指针的大小是固定的4/8个字 ...

  9. vue传参字符串数组

    前台vue 往后台传参时 传递是一个字符串数组,后台如何接受 前台参数写法是固定的: var idslist = []; idslist.push("1"); idslist.pu ...

最新文章

  1. java error could_Java.lang.Error: Properties init: Could not determine current working directory.
  2. Spring学习手册番外:context:annotation-config/ 和 mvc:annotation-driven / 的区别
  3. [转帖]一位“鬼佬”总经理的管理艺术
  4. 四. python的time和datetime 模块
  5. C#中使用二进制和ProtoBuf分别进行序列化、反序列化、压缩、解压缩对比测试汇总
  6. 飞畅科技-工业以太网交换机组网方式介绍
  7. python多线程单核_002_Python多线程相当于单核多线程的论证
  8. 云原生时代,政企混合云场景IT监控和诊断的难点和应对之道
  9. leetcode题解66-加一
  10. 使用RouteDebugger对MVC路由进行调试
  11. C语言程序设计第三版微课版,C语言程序设计(第3版 微课版)
  12. 道路设计基础知识,让你一秒变大师
  13. 【ZYNQ】从入门到秃头02 ZYNQ硬件介绍和Vivado开发流程
  14. GD32F130之DMA
  15. 常见的股票量化策略有哪些?
  16. 碰到高速下载器捆绑软件自动下载,卸载不完怎么办?
  17. 最新kali之bulk_extractor
  18. MySQL三个表的连接查询
  19. LXDE桌面系统设置快捷键
  20. Python与Julia结合使用的个人经验

热门文章

  1. python是什么模块,python中什么是模块
  2. DNA配对找对象?为了让年轻人结婚生孩子,日本有多拼?
  3. 实现原理讲解!我的阿里春招之路分享,灵魂拷问
  4. WordPress简约响应式导航主题VIK
  5. 企业管理概论试题库【1】
  6. 假期的计划又全泡汤了!!!
  7. 智慧物流在互联网大时代下的发展趋势
  8. 20210325BERNESE软件中LEO_POD模块说明
  9. 终极三国 片头曲-对手歌词 片尾曲-够爱歌词
  10. Vue之下载所有选中连接