http get方式传递数组?后端接收到的是什么?

前后端通信-后端接收GET和POST参数方式总结 后端接收GET和POST参数方式总结 阅读详情

总有一个惊喜在转角处等你

今天遇到一个奇怪的要求。
后端:你需要通过get请求传递一个类似这样格式的参数 name[]=张三&name[]=李四&name[]=王五&sex=1
我:ok
【( 内心diss ) : 啥?咋一个字段传递好几遍 】

不过,不能问为什么,不然就显得自己不是很🐂🍷了

那就自己研究。
先用node搞了一个接口:
index.js

const express = require("express");
const app = express();
const testRouter = require("./test.js");
app.use("/test", testRouter);
// 服务器端口号为5500
app.listen(5555, (err) => {
  if (!err)
    console.log(
      "login interface is start, Service address: http://localhost:5555 ......"
    );
});

test.js

var router = express.Router();
router.get("/getApi", function (request, response) {
  console.log("request 参数 ", request.query);
  let resStatus = {
    code: 000,
    data: {},
    msg: "测试返回数据",
  };
  response.send(resStatus);
});
module.exports = router;

接口已到位,接下来就是测试:
打开浏览器,输入:

http://localhost:5555/test/getApi?name[]=张三&name[]=李四&name[]=王五&sex=1

结果node打印的日志出乎意料:
在这里插入图片描述

?咋就变成数组了?啥情况?
但是在接口中真的发送数组的话,又会报错 400 Bad Request,是因为 请求报文存在语法错误

那么该如何解决呢?
使用qs插件
第一步:安装

npm install qs --save

第二步:在请求拦截器里添加如下代码

const qs = require('qs')

...
if(config.method === 'get'){
	config.paramsSerilizer = function(){
		return qs.stringify(params, {arrayFormat}:'repeat')
	}
}
...

如此即可解决

ECC密码的加密和解密(附带代码实现) ECC,全称Elliptic Curve Cryptography,是椭圆曲线密码学。这是一种公钥加密技术,其安全性基于椭圆曲线离散对数问题,被广泛应用于信息安全领域。ECC的主要优势在于,相较于RSA和DSA等其他传统的公钥密码体系,它能够在提供相同安全级别的情况下,使用更短的密钥,从而减少计算量和存储空间的需求。例如,一个256位的ECC密钥提供的安全性可以与3072位的RSA密钥或DSA密钥相媲美。ECC的主要应用领域包括SSL安全证书、安全电子邮件、移动设备安全、物联网设备安全等。 阅读详情

相关推荐

LVGL高效加载外部Flash图片资源的实现与优化

本文深入探讨了在嵌入式UI开发中,如何为LVGL高效加载外部Flash中的图片资源。针对内部Flash容量不足的痛点,详细解析了LVGL的图片处理原理,并对比了内存映射与流式解码两种主流实现方案。文章重点提供了性能优化技巧与实战避坑指南,旨在帮助开发者实现流畅的图片加载体验,解决SPI Flash读取慢、内存占用高等核心挑战。

t1u2v的博客 462

http get 请求 参数数组类型

对于在请求参数中有数组或者map这种复杂类型的传参,最好用 post 类型,这样传参方便些,只需要把参数放到 body 里就行。遇到坑点的场景是springboot中API验签AOP中统一接收参数GET数组原生方法会自动转为逗号隔分的字符串。当在HTTP GET请求中传递数数组类型的参数时,需要按照一定的格式进行编码。在URL中,后面每一个数组元素都用相同的参数名。这两种方法都有广泛的支持,但应当注意的是,不同的服务可能会对这些方式支持不同,具体应当参考你正在使用的API或后端服务的文档。

qq_22334025的博客 1522

一文搞懂STM32定时器翻转模式(产生多路频率、占空比的PWM)

(产生多路频率、占空比的PWM)

weixin_56688599的博客 7934

前端 - get请求传递数组

get请求传递数组

kelly0721的博客 4万+

FPGA八股文(2)——笔试的FPGA问题汇总(持续更新)

常见FPGA笔试题的概念总结

居安士的博客 8902

使用STM32微控制器实现光电传感器的接口和数据处理

本文将介绍如何使用STM32微控制器实现光电传感器的接口和数据处理的方案,包括硬件设计、引脚配置、数据采集、滤波和阈值判断等关键步骤,并给出相应的代码示例。本文将介绍如何使用STM32微控制器实现光电传感器的接口和数据处理的方案,包括硬件设计、引脚配置、数据采集、滤波和阈值判断等关键步骤,并给出相应的代码示例。在光电传感器的接口和数据处理的实现过程中,要关注系统的性能。在使用STM32微控制器实现光电传感器的接口和数据处理之前,需要设计一个合适的硬件平台。

weixin_66608063的博客 3200

http get 请求,path请求参数有数组类型的参数,怎么传参

内容来自对 chatgpt 的咨询 当在HTTP GET请求中传递数数组类型的参数时,需要按照一定的格式进行编码。并且具体的格式可能会根据后端的实现和预期的格式进行变化。这里有两种常见的方法: 方法一:相同参数名,多次出现 在URL中,后面每一个数组元素都用相同的参数名。例如,如果你有一个名为 value 的数组,其值为 [1,2,3],那么URL可能为: http://example.co...

Lucky小黄人的博客 2501

SDR 和 DDR 的区别

SDR 和 DDR 的差别,最明显提现在传输速率和频率上。DDR SDRAM与SDRAM的基本结构是相似的,最根本的区别在于DDR 支持在一个时钟周期内传输两次数据,,SDR 只能传输一次数据。

串起点滴 1958

HttpGet请求传递数组(集合)

在HttpGet请求是传递数组(集合)的方法: 1.使用Ajax方法传递 eg: ajax.({ url:/test, data:["1","2"], type:"get" }); 2.通过url直接传递的方式 这种方式我是通过第一种Ajax方法传递时,用Fiddler抓包发现的 转码后为:items[]=SaleNumLi...

baobo4566的博客 4185

eCognition易康操作教程(二):多尺度分割基于多光谱数据构建规则集,结合DSM高程数据提取建筑物、树木和绿地

一、数据 数据来源:教程中的实验数据,共包含RGB三个波段,还有数字地表模型(以下简称DSM)文件。 图一 RGB影像 数据特征:数据范围较小,要素种类少,仅包含较多的建筑和大片的绿地。由于建筑的房顶使用的材料和材料颜色不同,所以建筑的光谱特征没有规律,是不连续的特征。而绿地的光谱特征则十分容易分辨。 但是建筑通常具有规则的形状,而且建筑相比于周围其他要素...

蒹葭苍苍 8302

2024 年高教社杯全国大学生数学建模竞赛 E 题 交通流量管控 详细思路+matlab代码+python代码+论文范例

随着城市化进程的加快、机动车的快速普及,以及人们活动范围的不断扩大,城市道。景区周边道路上既有本地居民出行,也有过境车辆,化配置,在保证车辆通行的前提下,使得两条主路上的车流平均速度最大。对五一黄金周期间的数据进行分析,判定寻找停车位的巡游车辆,并估算假。相位通过的每辆车的信息,包括拍摄地点、行驶方向、拍摄时间和车牌号。济发展和百姓幸福感的一个“痛点”,是相关部门的棘手难题之一。纬中路交叉口,根据车流量的差异,可将一天分成若干个时段,估。是小镇中两条主路的情况:纬中路,从环西路到环东路,约。

YOLO 3310

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

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

skyli的博客 2万+

电子科技大学计算机预推免(最终去向)

电子科技大学,预推免报名时必须要有一封本校老师写的推荐信,推荐信基本上就是复试的入场券,所以一定要提前联系老师,拿到推荐信。只要有机会进了面试,我觉得老师对于双非并不歧视,面试的个人表现才是关键性决定因素,技巧性也是很强的,如果有需要帮助的,欢迎私信~~

D1379951481的博客 3366

vue+springboot前后端传值常用方式

1.get传输多个参数,后端使用实体类接收 前端: let query ={ id:1, name:'小红' } export function workMakeupList(query) { return request({ url: '/work/makeup/list', method: 'get', params: query }) } 后端控制层: @GetMapping("/list") public List list(Student s)

qq_17215887的专栏 5348

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

postman测试环境的创建及发送请求方式

一、创建工作环境 1、打开postman,点击工作区 2、点击新建 3、添加名字,点击创建 4、工作区可以自由切换工作区 5、点击创建发送请求 6、更换请求方式 7、保存测试 二、测试发送请求,使用的时候服务一定要启动 1、普通传参,发送get请求,添加路径和参数,点击发送请求 2、普通传参,发送post请求 3、普通传参,后端接收请求

qi341500的博客 3863

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

axios传参问题

1.params传参,这里post后台会接收不到 updateStatus:function (id,status) { var _this = this; axios.get("/seller/updateStatus.do",{params:{id:id,status:status}}).then(function (respon...

雨天的麦子的博客 268

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

POST方式接收数组失败

POST方式接收数组失败一、遇到的问题二、分析问题三、解决办法 一、遇到的问题 今天前端抛来一个问题,POST方式数组传参,后台接收不到list数组,但同样的GET方式传就不会出现问题,调试之旅开启。 二、分析问题 1、首先本地用postman直接访问接口,没出问题,那回到游览器,请求参数传过去之后,除了数组,其他的参数似乎都接收到了,那可以初步肯定数组传参时发生了变化。下面是后端参数接收部分代码...

weixin_38335432的博客 2686

PHP操作数据库增删改查 安卓+php控制数据库 安卓连接数据库

PHP操作数据库增删改查 安卓+php控制数据库 安卓连接数据库

m0_49558200的博客 2673

1. SpringMVC

1.1 restFul风格 1.1.1 传统get方式提交 url1: http://localhost:8080/findUser?name=tomcat&age=18 url2: http://localhost:8080/findUser?name=tomcat&age=18&sex=男 需求: 上述的参数传递是否可以简化! 简化写法: url3: http://localhost:8080/findUser/tomcat/18/男 1.1.2 restFul风格说明

weixin_43762083的博客 156

get和post区别 后端接收参数(全面)

get和post区别 后端接收参数(全面)。当我们访问各种网页时,之所以能够看到页面,是因为浏览器向服务器发送了http请求并成功响应。http协议确定了请求和响应数据的格式。其中常见请求方式有get、post、put、delete,而开发中常用的则为get、post。 本文重点介绍下get请求与post请求的区别,以及后端如何接收前端传来的参数。

qq_44700578的博客 1万+

后端如何接收数据?详解8种HTTP请求方式及SpringBoot代码实现

Http八种请求方式详解:1. Request Payload(JSON/XML 等结构化数据)2. Query String Parameters(URL 参数)3. Form Data(表单数据)4. Path Variables(路径参数)5. Headers(请求头)6. Cookies7. GraphQL(特殊请求体)

Rqaqedamancy的博客 2万+

vue中axios get,post方式传递数组参数,二维数组参数

vue中axios post方式传递数组参数,二维数组参数

静幽水 2万+

前后台参数数组传递接收方式

GET 请求: 前台传递参数一般拼接在url 后 参数格式: 1.String 2.array[] 数组 var data=["1","2","3","4","5","6"] 参数={ 参数1:"String", 参数2:JSON.stringify(data) } Get后台接参方式 后台: xxxxx (@RequestParam String 参数1,String 参数2){ 参数1 可以直接用 参数2需要解析一下 解析方式

大橙子的博客 953

Restful风格请求 后端接口参数接收详解

基于restful api接口规范,在SpringBoot项目中,前端HTTP请求中的参数如何映射到Controller层的接口方法中的参数?这里针对各种方式做一个测试与总结。

java全栈工程师 1万+

js如何用get传递一个多维数组到php

js如何传递一个多维数组到php 在前端页面中,经常用到ajax向后台请求数据,一般而言,请求方式为get或者post。 get方式请求是将参数拼接成url的形式传递给后台。例如: <script> let url="http://xxx.php?a=1&b=2&c=3"; $.getJSON(url,function(res){ console,log(res...

沐兰天姿的博客 2257

【JavaWeb后端学习笔记】SpringBoot框架下Http请求参数接收

发送请求:请求方式为POST,请求参数为name=Tom和age=20,POST请求方式的请求参数放在请求体。

wrjwww的博客 2811
上一篇: element合并表格?
下一篇: loading加载动画太过枯燥? 快来试试 loader.css
Dark_programmer
博客等级 码龄7年 9073粉丝 307原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值