前端集合传参,springmvc后端如何接收
废话不多说,上代码
后端接收对象:
class ObjectA{
private String a;
private String b;
private List<ObjectB> list;
//getter/setter
}
class ObjectB{
private String a;
private String b;
//getter/setter
}
Controller对应的method
@PostMapping("/getParam")
public String getParam(@RequestBody ObjectA objectA){
log.info("objectA:{}", objectA.toString());
return "success";
}
使用@RequestBody注解是指定接收数据为json格式 .
后端处理好了,前端又该如何处理呢?
function sendAjax(){
var list = new Array({"a":"ObjectB参数a-1", "b":"ObjectB参数b-1"},{"a":"ObjectB参数a-2", "b":"ObjectB参数b-2"});
var obj={"a":"ObjectA参数a", "b":"ObjectA参数b", "list":list}
console.info(obj)
$.ajax({
url:"/getParam",
type:"POST",
data: JSON.stringify(obj),//1.4+以上的jquery版本对json格式要求更加严格.如果不是严格的json格式,就不能正常执行success回调函数.
contentType:"application/json; charset=utf-8",//设置请求头,默认方式是application/x-www-form-urlencoded; charset=UTF-8
dataType:"json",
success: function(data){
alert(data);
}
});
}
如面的请求代码所示,
① 设置请求头内容格式,应为jquery的$.ajax({})默认的ContentType的值为:application/x-www-form-urlencoded; charset=UTF-8,它无法被 @RequestBody 解析格式串
② 传到后台的参数最好使用 JSON.stringify()处理一下。防止后端无法解析该对象,报“ JSON parse error: Unrecognized token 'a': was expecting ('true', 'false' or 'null') ”
这边附上 ① 的解释说明:https://blog.csdn.net/Tiglle/article/details/75269171
② 的解释说明:https://blog.csdn.net/qq_36802726/article/details/88419297
前端集合传参,springmvc后端如何接收的更多相关文章
- axios用post传参,后端无法获取参数问题
最近用vue+nodejs写项目,前端使用axios向后台传参,发现后台接收不到参数. 后台是node+express框架,然后使用了body-parser包接收参数,配置如下: const expr ...
- FastAdmin 前端页面传参笔记
FastAdmin 前端页面传参笔记 看到 QQ 群里的小伙伴询问如何传参,然后在社区里找到一笔记帖子 1 还要参考在线文档控制器部分2. 引用 Karson 的回复: 如果我们需要自己在控制器中透传 ...
- 图片上传(前端显示预览,后端php接收)
html: <form action="{:Url('do_ls_law_upload')}" method="POST" accept-charset= ...
- Web jsp开发学习——前端后台传参方法
一.前端传后台: 1.1表单数据的传递 前端的表单里定义名字name 后台通过名字获取输入的值 1.2页面点击了哪个按钮传递 登录注销的另一种方式 点击登录的地方设置参数 ...
- FastAdmin 前端页面传参
如果我们需要自己在控制器中透传数据到JS中去,则可以使用控制器的assignconfig方法来透传,使用如下 $this->assignconfig('demo', ['name'=>'名 ...
- angular的post传参后台php无法接收
很多时候我们需要用ajax提交post数据,angularjs与jq类似,也有封装好的post. 但是jQuery的post明显比angularjs的要简单一些,人性化一些. 两者看起来没什么区别,用 ...
- SpringMVC前后端分离交互传参详细教程
温故而知新,本文为一时兴起写出,如有错误还请指正 本文后台基于SpringBoot2.5.6编写,前端基于Vue2 + axios和微信小程序JS版分别编写进行联调测试,用于理解前后端分离式开发的交互 ...
- springMVC常用传参总结
本文介绍了springMVC常用的传参方式和一些注意的事项,页面表单主要以ajax的形式提交. 本帅是个菜鸡,水平有限,若有什么讲得不对或有补充的地方欢迎各位提意见. 一.传递String类型 1 ...
- vue-router query和params传参(接收参数),$router、$route的区别
链接:https://segmentfault.com/a/1190000012735168 1.query方式传参和接收参数 传参: this.$router.push({ path:'/xxx' ...
随机推荐
- k8s管理机密信息(12)
一.启动应用安全信息的保护 1.Secret介绍 应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥.将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 ...
- linux 详解useradd 命令基本用法
linux 详解useradd 命令基本用法 时间:2019-03-24 本文章向大家介绍linux 详解useradd 命令基本用法,主要包括linux 详解useradd 命令基本用法使用实例.应 ...
- java 文件上传下载
翻新十年前的老项目,文件上传改为调用接口方式,记录一下子~~~ java后台代码: //取配置文件中的上传目录 @Value("${uploadPath}") String pat ...
- 基于python内置方法进行代码混淆
0x00 动态加载模块 在python脚本中,直接使用import os.import subprocess或from os import system这种方法很容易被规则检测,即使使用其它执行命令的 ...
- kotlin中的嵌套类与内部类
Java中的内部类和静态内部类在Java中内部类简言之就是在一个类的内部定义的另一个类.当然在如果这个内部类被static修饰符修饰,那就是一个静态内部类.关于内部类 和静态内部类除了修饰符的区别之外 ...
- GO汇编-函数
GO汇编-函数 终于到函数了!因为Go汇编语言中,可以也建议通过Go语言来定义全局变量,那么剩下的也就是函数了.只有掌握了汇编函数的基本用法,才能真正算是Go汇编语言入门.本章将简单讨论Go汇编中函数 ...
- 获取两个时间点间的随机时间&时间戳
获取两个时间点间的随机时间&时间戳 方案一 # python2 不兼容,python3正常 import datetime,random def randomtimes(start, end, ...
- cachecloud生产环境搭建
步骤 1 机器管理 机器初始化Redis环境 添加机器 执行: cachecloud-init.sh脚本 2 cachecloud添加机器的时候需要添加一个用户cachecloud-open ad ...
- HiCar人-车-家全场景智慧互联
HiCar人-车-家全场景智慧互联 (HUAWEI HiCar Smart Connection)解决方案,具备如下特点: 安全交互:以安全为前提的极简交互(Safety) 无感互联:手机/IoT 设 ...
- 第四代自动泊车从APA到AVP技术
第四代自动泊车从APA到AVP技术 前言 自动泊车是指汽车自动泊车入位不需要人工控制,系统能够自动帮你将车辆停入车位,在倒车入库中可谓是驾驶者的一项利器.当我们找到一个理想的停车地点,只需轻轻启动按钮 ...