ajax data多个对象,ajax提交复杂对象数据

本文介绍了如何在SpringMVC中处理由AJAX提交的JSON数据,以及前端如何通过字符串拼接方式正确序列化对象。在AJAX请求中,由于数据格式问题,直接附加上JSON会导致SpringMVC无法解析。因此,前端需要将数据转换为字符串形式,通过循环遍历构建请求参数。同时,文章也提到了使用js模板库如jsrender来提高可维护性和避免错误的建议。
摘要由CSDN通过智能技术生成

public class RouteItemManageReq {

private List targetNodes;

private RouteItemReq obj;

public List getTargetNodes() {

return targetNodes;

}

public void setTargetNodes(List targetNodes) {

this.targetNodes = targetNodes;

}

public RouteItemReq getObj() {

return obj;

}

public void setObj(RouteItemReq obj) {

this.obj = obj;

}

}

public @ResponseBody List pushAddRouteItem(RouteItemManageReq req,Model model) {

return nodeManageService.pushAddRouteItem(req);

}

要在ajax中提交类似这样的结构,不能直接将js直接附加到ajax请求的data上,否则不管是数组还是属性都会以obj[prop][subprop]的方式传递到服务端,导致spring mvc无法解析而报错。

所以,如果在ajax中需要通过拼接成string的方式传递。类似如下:

for(var x=0;x

formData = formData + "targetNodes[" + x + "].clusterName=" + targetNodes[x].split(":")[0] + "&";

formData = formData + "targetNodes[" + x + "].ip=" + targetNodes[x].split(":")[1] + "&";

formData = formData + "targetNodes[" + x + "].port=" + targetNodes[x].split(":")[2] + "&";

}

formData = formData + "obj.routeItem.serviceId=" + $("#myModal-route input[name='serviceId']").val() + "&";

formData = formData + "obj.routeItem.systemId=" + $("#myModal-route input[name='systemId']").val() + "&";

formData = formData + "obj.routeItem.subSystemId=" + $("#myModal-route input[name='subSystemId']").val() + "&";

formData = formData + "obj.routeItem.appVersion=" + $("#myModal-route input[name='appVersion']").val() + "&";

formData = formData + "obj.routeItem.companyId=" + $("#myModal-route input[name='companyId']").val() + "&";

formData = formData + "obj.routeItem.clusterName=" + $("#myModal-route input[name='clusterName']").val();

$.ajax({

url: "/middle/00000110.json", //请求的url地址

dataType: "json", //返回格式为json

// async: false, //请求是否异步,默认为异步,这也是ajax重要特性

data: formData, //参数值

type: "GET", //请求方式

拼接其实是个很不好的实现,维护成本高,极容易出错,所以建议大家使用js模板库比如jsrender,可参考http://www.cnblogs.com/zhjh256/p/5978907.html。

spring mvc接收ajax提交的JSON数据,并反序列化为对象

需求:spring mvc接收ajax提交的JSON数据,并反序列化为对象,代码如下: 前台JS代码: //属性要与带转化的对象属性对应 var param={name:'语文',price:16}; ...

使用ajax提交的json数据,产生筹码问题

使用ajax提交的json数据,我们必须添加produces注解,如下所示.否则将会产生乱码 方法一:添加produces注解 @ApiOperation(value = "删除日志&quo ...

使用@RequestBody注解获取Ajax提交的json数据

最近在学习有关springMVC的知识,今天学习如何使用@RequestBody注解来获取Ajax提交的json数据内容. Ajax部分代码如下: 1 $(function(){ 2 $(" ...

Ajax 提交KindEditor的数据

这次我是在EasyUI中使用了KindEditor的编辑器,按照官方给的代码,总是无法获取编辑器里面的值(内容),如下:         KindEditor.ready(function (K) { ...

ajax提交含有html数据时的处理方法

这两天在做一个文章内修改的功能,由于前端选用的Extjs控件库,于是就使用Ext.form.HtmlEditor. 在使用ajax提交数据的时候,需要提交包含有html代码的数据.这时候问题就来了,不 ...

MVC中用ajax提交json对象数组

应用场景:在前端用ajax向服务器提交json对象数组,在controller的以对象数组作为函数的参数,提交的json数组直接转为服务器端的对象数组. 如: 要将json对象数组[{Id:1,Nam ...

jquery序列化from表单使用ajax提交返回json数据(使用struts2注解result type = json)

1.action类引入struts2的"json-default"拦截器栈 @ParentPackage("json-default") //示例 @Paren ...

ajax 提交 json格式数据到后台

例子:$.ajax({ type: 'POST', url: "/ROOT/modify.do", contentType: "application/json&quot ...

关于上传文件 非ajax提交 得到后台数据问题

SQL复杂查询(子查询)

USE STUDY SELECT * from EMP SELECT * FROM SALGRADE --1.查询雇员姓名,所在部门编号和名称 SELECT ename,EMP.deptno,DEPT ...

基础知识——Cocos2d-x学习历程(三)

1.场景与流程控制 我们把一些内容相对不变的游戏元素集合称作场景(scene),把游戏在场景之间切换的过程叫做流程控制(flow control). 在Cocos2d-x中,场景的实现是Scene. ...

python之map,filter

map和filter是python里面比较重要的BIF,map的主要作用就是对集合里面的每一个元素进行处理,filter的作用就是过滤集合,具体功能如下 t =lambda x:x%2 list(fi ...

JavaWeb基础知识总结

JavaWeb基础知识总结.   1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供 ...

[android] 轮播图-滑动图片标题焦点

谷歌提供的v4包,ViewPager 在布局文件中,先添加控件,这个只是轮播的区域 在布局文件中,布置标题描述部分 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值