get请求传递数组

vue中get请求如何传递数组参数的方法示例 主要介绍了vue中get请求如何传递数组参数的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 立即下载
AI摘要

通常传递数据用post请求放于body中,若用get请求传递数组,有多种方式。实现方案包括自己拼接和借助qs插件,axios中有paramsSerializer属性可对数据序列化,还可在请求拦截器中配置。此外,若请求参数含中括号,前端需用decodeURIComponent()转义,否则会报错。

get请求传递数组

Excerpt

传递数据最好使用post请求放到body中,如果非要使用get请求传递数组,可以通过下面方式


一、数组请求方式

get 请求有以下几种方式来传递数组:

GET http://localhost:8080/users?roleIds=1&roleIds=2
GET http://localhost:8080/users?roleIds[0]=1&roleIds[1]=2
GET http://localhost:8080/users?roleIds[]=1&roleIds[]=2
GET http://localhost:8080/users?roleIds=1,2

二、实现方案

自己拼接
let a = ["b", "c", "d"];
let str = "";
 
for(var index in a){
    str+='a='+a[index]+'&'
}
// str: a=b&a=c&a=d
借助qs插件
qs.stringify({ a: \[“b”, “c”, “d”] }); // a\[0]=b\&a\[1]=c\&a\[2]=d

qs.stringify({ a: \[“b”, “c”, “d”] }, { [indices](https://so.csdn.net/so/search?q=indices\&spm=1001.2101.3001.7020): false }); // a=b\&a=c\&a=d

qs 还可以通过arrayFormat 选项进行[格式化输出](https://so.csdn.net/so/search?q=%E6%A0%BC%E5%BC%8F%E5%8C%96%E8%BE%93%E5%87%BA\&spm=1001.2101.3001.7020):

qs.stringify({ a: \[“b”, “c”] }, { arrayFormat: ‘indices’ }) // a\[0]=b\&a\[1]=c\
qs.stringify({ a: \[“b”, “c”] }, { arrayFormat: ‘brackets’ }) // a\[]=b\&a\[]=c\
qs.stringify({ a: \[“b”, “c”] }, { arrayFormat: ‘repeat’ }) // a=b\&a=c\
qs.stringify({ a: \[“b”, “c”] }, { arrayFormat: ‘comma’ }) // a=b,c

三、axios 配置

axios中有一个专门对数据进行序列化的配置属性paramsSerializer

{
  url: '/user',
  method: 'get', // default
  baseURL: 'https://some-domain.com/api/',

   // `paramsSerializer` 是一个负责 `params` 序列化的函数
  // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)
  paramsSerializer: function(params) {
    return qs.stringify(params,{arrayFormat: 'brackets'})
  },
    
}

在axios请求拦截器中对参数进行序列化配置

axios.interceptors.request.use(async (config) => {
//只针对get方式进行序列化
 if (config.method === 'get') {
   config.paramsSerializer = function(params) {
     return qs.stringify(params, { arrayFormat: 'repeat' })
   }
 }
}

四、参数转译

需要注意的是,如果请求参数中带有中括号[],[]在url中属于功能性字符,前端需要使用decodeURIComponent()函数转义,否则会出现400 Bad Request错误。

qs.stringify({ a: [‘b’, ‘c’, ‘d’] });  // a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=ds
decodeURIComponent(qs.stringify({ a: ["b", "c", "d"] }) // a[0]=b&a[1]=c&a[2]=d


浅谈vue中get请求解决传输数据是数组格式的问题 主要介绍了浅谈vue中get请求解决传输数据是数组格式的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 立即下载

相关推荐

keil4.72添加GD32F10x芯片

1. 下载 GD32F10x_AddOn_V2.0.1.rar,解压缩。 2. 安装 运行GigaDevice.GD32F10x_AddOn.2.0.0.exe 安装位置 再新建工程,发现已经有GD32F10x 3. 增加的文件分析 运行GigaDevice.GD32F10x_AddOn.2.0.0.exe后,在keil文件夹种增加文件如下: ...

TrueLink的博客 2762

前端 - get请求传递数组

get请求传递数组

kelly0721的博客 4万+

VCSA 上的 vmware-vpxd 服务失败,Web端提示503 服务不可用 (503 Service Unavailable)

昨晚VCSA碰到一个很诡异的问题: 使用 vSphere Web Client 连接到 vCenter Server Appliance时失败,提示: 503 服务不可用 (503 Service Unavailable) 无法连接端点 (Failed to connect to endpoint):[N7Vmacore4Http20NamedPipeServiceSpecE:0x00007f975808ee30] _serverNamespace = / action = Allow _pipeNam

徐华的博客 2万+

GET请求传数组

最终请求的url为:这样传的数组格式显然后端解析不了,后端希望的格式要么是list=1&list=2&list=3,要么是list=1,2,3。

庸人方自扰,自在就好 3万+

微信小程序如何集成EasyRTC实现零插件音视频通话?5步搞定完整接入流程

本文详细介绍了如何在微信小程序中集成EasyRTC SDK,实现零插件的实时音视频通话功能。通过5个关键步骤,包括环境配置、SDK初始化、核心功能实现、性能优化和问题排查,帮助开发者快速完成WebRTC技术在小程序中的落地应用,解决微信小程序原生不支持实时音视频通信的技术难题。

weixin_28340315的博客 142

ESD防护设计宝典(十):RE(辐射发射)超标问题排查与解决

RE测试是EMC认证的“头号杀手”。当屏幕上出现一根根超标频谱线时,如何快速定位元凶并有效整改?本讲将带你化身电磁侦探,完成一次完美的RE问题“缉凶”。

m0_56451176的博客 391

Get请求如何传递数组、对象

我们知道@RequestParam可以通过value属性指定参数名,requ设置参数是否必须、设置参数默认值等。若接口参数是一个List< Object> 或者实体对象 需要@RequestBody注解,参数只能放在。Get请求一般用请求头来传递简单参数、但也可用Body传递对象,甚至可以一起使用。Params加入page、size参数。接口参数String [] 加。接口参数String [] 加。可以将数组参数传递多次,Body中加入数组对象。

qq_40419080的博客 2万+

基于Proximal Policy Optimization的无人机姿态控制系统的研究及Matlab实现

本文简要介绍了基于Proximal Policy Optimization算法的无人机姿态控制系统,并使用Matlab实现了一个简化版的代码。PPO算法的特点在于能够解决强化学习中的部分可观察性问题,同时还能保持策略网络更新的稳定性。本文将介绍基于Proximal Policy Optimization(PPO)算法的无人机姿态控制系统,并使用Matlab进行简化版实现。无人机姿态控制是指通过调整飞行器各部件的参数,使其保持特定角度、方向和位置的状态。本文将实现无人机的横滚姿态控制,并将其作为实现的示例。

m0_47037246的博客 713

vue中get请求如何传递数组参数

前言: vue中在与后端进行数据交互时,使用axios发送请求,不做配置直接使用get请求传递数组类型参数的时候,后端是无法接收数据的,需要对axios一些简单的配置才能让后端完美的接收数组 1、问题 示例代码 let params = { statusList: ['OVERDUE', 'DELAY'] } ...

cradle2006的专栏 5497

g2o&PCL 四阶多项式拟合

g2o&PCL 四阶多项式拟合

dayuhaitang1的博客 138

【MATLAB】嵌入式ADC/DAC控制工程

摘要:本文针对嵌入式ADC/DAC应用中存在的量化误差、采样噪声、输出漂移等问题,提出基于MATLAB的仿真优化方案。通过构建完整的ADC/DAC仿真模型,实现了采样建模、数字滤波、误差校准和闭环控制仿真。方案采用滑动平均滤波抑制ADC噪声,双校准参数补偿DAC固有误差,并将算法轻量化移植至STM32平台。实测表明,该方案使ADC采样波动从±25mV降至±5mV,DAC输出偏差从42mV降至18mV,显著提升了模拟量交互精度和系统稳定性。整套方案资源占用低,适配各类嵌入式高精度控制场景,具有较高的工程应用价

unber的博客 646

HTTP GET请求方式传递数组参数

http GET请求方式如何传递数组参数?一起来看看。 先在本地服务器上来一个controller方法,我们把接收到的参数打印在控制台上,顺便多此一举地返回一下响应结果 用postman请求一下: 再来看看控制台的打印结果 老铁没毛病!所以GET请求方式怎么传递数组参数大家都知道了吧!关注点赞,谢谢! ...

skyli的博客 2万+

适航规章、标准,书籍资料下载汇总(增加DO-297 IMA)

从事IMA平台适航工作的朋友看过来,DO-297英文版PDF可以下载了!更新日志:2024-9-28:初版。2024-10-21:增加DO-330英文版PDF下载,后台回复关键词”330“获取下载链接。2024-10-30:增加DO-160G中文版(非机翻)和英文版PDF下载,后台回复关键词”160“获取下载链接。2024-11-10:增加DO-297英文版PDF下载,后台回复关键词”297“获取下载链接。以下是一些收集到的适航相关的资料,分享给大家。

qq_41854911的博客 1577

Get请求 传递 数组参数

Get请求传递参数一般都会把参数写在url后 https://mp.youkuaiyun.com?id=1 如果是数组的时候,如何传递? ids[] ids = {1,2,3,4} https://mp.youkuaiyun.com?id[0]=1&amp;id[1]=2&amp;id[2]=3&amp;id[3]=4 Get请求后台接收对象,不需要@requestParam也可以接收 https://mp....

weixin_41277643的博客 3万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

axios get请求 传递数组

文章参考 get请求如何传递数组参数 问题描述 当我们需要通过get方式传递一个数组作为参数 tag:[1,2,3,4] 预期是解析为:https://www.cnblogs.com/enter?tag=1&tag=2&tag=3&tag=4 然而真相是这样的:https://www.cnblogs.com/enter?tag[]=1&tag[]=2&tag[]=3&tag[]=4,后台是不可能解析到传递的参数 qs插件 qs在axios中自带的有我们无

黄彪博客 6507

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android 数组请求参数传递参数吗,GET请求如何传递数组参数

之前对于GET请求传递数组参数的情况,处理方式通常是把参数定义为用逗号分隔,在后台用字符串接收,然后把接收到的参数用逗号分隔转换为数组对象。今天偶然间看到了一篇类似的文章,再加上自己的验证测试,得到了两种传参方式,总结如下:方式一可以将数组参数传递多次,springmvc会将多个同名参数自动封装成数组或者集合对象,示例如下:# 请求URLhttp://127.0.0.1:8080/getUsers...

weixin_35179649的博客 1123

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【转】vue中get请求如何传递数组参数

文章目录前言1、问题2、解决方案2.1 qs 插件2.2 axios 配置2.3 具体配置3、总结 前言 vue 中在与后端进行数据交互时,使用 axios 发送请求,不做配置直接使用get请求传递数组类型参数的时候,后端是无法接收数据的,需要对 axios 一些简单的配置才能让后端完美的接收数组 1、问题 示例代码 let params = { statusList: ['OVERDUE', 'DELAY'] } t

bug收集 5346

在vue中get请求如何传递数组参数

在vue中get请求如何传递数组参数问题解决方案第1步:安装qs插件(如果安装过了引入就可以了)第2步:转码第3步:更换传值方式(很重要)效果图解决方案第3步的第1段代码效果(未解决)解决方案第3步的第2段代码效果(未解决)解决方案第3步的第3段代码效果(已解决)qs插件(部分展示) 问题 当我们需要通过get方式传递一个包含数组的对象作为参数,例如: const params = { sort: ['id,desc', 'name,asc'], type: 'term' } 预期是解析为:htt

onlyAngel521的博客 1万+

前端解决get请求传递数组

1.传递字符串,将数组转为字符串进行传递,后端也以字符串接受。2.将数组转换为查询字符串格式,并附加到URL上。直接使用get请求传递数组,会报错。

m0_68716504的博客 644

实习中get请求中传递数组参数的解决办法

项目上用的axios请求,后端需要接受的参数是在url上拼接上传递的数据 类似 这里出现一个问题,在axios的params字段上直接传递一个数组和对应的id是不行的,用json.stringify也不不行 比如 这样在get方法上是不成立的 这里需要借用一个插件qs 这里是npm地址在axio请求拦截器中,判断请求方法为get的同时,参数里面要有数组对象,这时再采用qs的插件功能, 不然所有的get请求都会采用这个插件,可能会导致报错,这里贴上代码 首先判断参数的所有对象是否为数组方法,遍历对象的所有属性

weixin_54241625的博客 5470

get请求传递数组,后台返回并导出excel文件

要求:通过get请求传参,参数中有一个是数组,请求成功后在浏览器创建下载事件,将从后台获取的文件自动下载下来。 一般情况下,get请求方式不能传递数组,所以我采用了拼接url的方法。拼接好之后通过get请求url,并使用window对象的open函数打开url。 首先了解 qs.stringify: https://blog.youkuaiyun.com/pifutan/article/details/863...

qiuqiu1894的博客 1459

axios get请求传递数组

后端要求get请求中传递数组,一开始我是这样写的 但最终传参变成了只携带filter_uuid 这样是不行的,于是我将uuid重新直接拼接 到了url里,& = 这些符号都被转义了 既然是get请求,就直接把参数拼在后面算了 完事 ...

weixin_42050406的博客 1182

axios的get请求无法传递数组

问题描述 当我们需要通过get方式传递一个数组作为参数 tag:[1,2,3,4] 预期是解析为: https://www.cnblogs.com/enter?tag=1&tag=2&tag=3&tag=4 然而真相是这样的:https://www.cnblogs.com/enter?tag[]=1&tag[]=2&tag[]=3&tag[]=4,后台是不可能解析到传递的参数 qs插件 qs在axios中自带的有我们无需下载直接引入 axios 拦截器统一处

m0_51499501的博客 1157

html如何get请求参数传递数组,get请求如何传递数组参数

问题当我们需要通过get方式传递一个数组作为参数 tag:[1,2,3,4]解决方案01. 自己处理// 编辑-(批量)移除测试用例const delTestCaseUrl = '/htsy-integrated/test-plan/case-del'axios.get(delTestCaseUrl, {params: {planDetailId:this.planDetailId},// 序列化...

weixin_39568659的博客 3121
上一篇: vue代码中使用debugger不生效或无法跳转源码终极解决方案
下一篇: GUI Agent纯视觉 GUI 操作模型
前端蜗牛君
博客等级 码龄10年 274粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值