SpirngMVC通过Ajax传递多个对象
背景:在项目开发中会有很多次需要传递一个对象或者多个对象至后台的情况。相信很多人也在传递List<E>的时候也会遇见很多问题。比如说415错误,400错误等等。
原因:总结一下其实就是前后端数据格式不统一等原因导致,有时候可能只是json格式的键不对。我在此过程中碰见的情况也就是以下几种
(1)传递List(User) 的情况
前端代码:
1 var b = []; 2 var a ={}; 3 var c ={}; 4 a.name ="张三"; 5 a.age = "20", 6 b.push(a); 7 c.name ="李四"; 8 c.age = "20", 9 b.push(c); 10 $.ajax({ 11 url: '/cms/test/insertUser', 12 type: 'post', 13 dataType:"json", 14 contentType:"application/json", 15 data: JSON.stringify(b), 16 success: function(data){ 17 18 } 19 });
后端代码:
1 @RequestMapping("insertUser") 2 @ResponseBody 3 public Map<String,Object> insertUser(@RequestBody List<User> user ){ 4 return null; 5 }
注意此时的json格式是 [{"name":"张三" , "age" : "20"},{"name":"李四" , "age" : "20"}]
(2)单个对象:
对于单个对象是最最基本的用法,此处就不再解释。
(3)多个对象 + String/int 等基本参数
前端代码:
var a ={"arr" :["{name: 张三,age: 24}","{name: 李四,age: 24}"] , "classRome" : "初二四班"}$.ajax({url: '/cms/test/insertUser',type: 'post',dataType:"json",contentType:"application/json", data: a,success: function(data){ } });
后端代码:
@RequestMapping("insertUser")@ResponseBodypublic Map<String,Object> insertUser(@RequestParam(required = false ,value = "arr[]") List<String> user , String classRome){return null;}
后端接收到为JSON - String字符串 , 然后可以通过GSON 或者其他的JSON工具转化为相关的实体类, 注意重点测试 arr 中对象为 一个 或者是 没有 的情况 , 可能会有异常情况发生。
PS:文中代码不可全部相信,只是提供一种解决问题的思路。
转载于:https://www.cnblogs.com/wepfighting/p/7449141.html
SpirngMVC通过Ajax传递多个对象相关推荐
- springMVC通过ajax传递参数list对象或传递数组对象到后台
springMVC通过ajax传递参数list对象或传递数组对象到后台 环境: 前台传递参数到后台 前台使用ajax 后台使用springMVC 传递的参数是N多个对象 JSON对象和JSON字符串 ...
- ajax 入参为list_ajax传递参数list对象或传递数组对象到后台
springMVC通过ajax传递参数list对象或传递数组对象到后台 环境: 前台传递参数到后台 前台使用ajax 后台使用springMVC 传递的参数是N多个对象 JSON对象和JSON字符串 ...
- jQuery ajax 传递JSON数组到Spring Controller
jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relation ...
- jquery ajax json传递数组,jQuery ajax 传递JSON数组到Spring Controller
jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relation ...
- java获取ajax传的数组对象,ajax传递对象数组
ajax data怎么传对象数组 参考代码如下: var as = []; var temp = []; for ( var int = 0; int < 5; int++) { temp.pu ...
- Ajax传递数组对象
Ajax传递数组对象 一.JS部分写法 1.JSON.stringify(submitMainComponent.billSubmit) 转json 2.contentType: 'applicati ...
- ajax后台如何把对象转为json_Ajax向前后台传递json和转换
学生管理系统MVC模式设计心得: jquery .ajax提交data数据格式 jquery 的Ajax方法提交数据,但是是多个参数,具体data的格式如下: data提交的数据类型为:Object或 ...
- Spring MVC前后台交互(前台ajax传递数据,后台controller接收数据返回json对象)
1.导入jar包 2.JS中用ajax传递用户数据 var data={origin:"register",tel:tel,pwd:pwd};$.ajax({url : " ...
- VIEW层AJAX提交表单到Controller的实体(AJAX传递序列化的输入元素)
在MVC环境中,AJAX方式添加一个对象,这个对象在Models中是一个视图模型,在前台显示时是这样的代码: <%using (Html.BeginForm()) { %> ...
最新文章
- MySQL主从复制故障案例一
- centos运行python程序_CentOS 7定时执行python脚本
- 源代码可以从应用提取码_大规模下加速源代码分析
- Tomcat的结构概述
- 计算机会比人的神经系统更发达吗?
- 数据结构之线性表——链式存储结构之单链表(php代码实现)
- eclipseini设置使用的jdk_设置 Maven 对应的JDK 版本
- CLI里面的秘密……(二)强命名、元数据以及文件结构(上半部分)
- 研发项目如何配置看板的任务流转
- mir2disease:miRNA相关疾病数据库
- ARM 交叉编译器命名规则
- typora 免费版, 最后一个beta版本下载
- 校招经历-java开发面试题
- SAP 财务-统驭科目
- java虚拟机 方法区_java虚拟机---方法区[szx]
- 【刘晓燕语法长难句】 简单句
- 小美的跑腿代购 / 小团的神秘暗号(c++)
- 1134: 字符串转换
- 利用R语言对贷款客户作风险评估
- 实打实的方式VS对方是否
热门文章
- 1044 火星数字 (20 分)(c++)
- mybatis里的log适配器模式
- Vi编辑器的使用方法
- 使用nginx部署简单的前端项目,nginx.conf配置
- px4官网调参指南 多旋翼无人机PID调参指南
- c 语言 可变参数前要加形参,C/C++中可变参数的用法详细解析
- 15.确保“lessT“与“operator小于“具有相同的语义
- ResNeXt 之 输入数据预处理代码详解
- Tensorflow中文文档
- c 语言程序设计现代方法:13章习题自己编答案(持续更新)