jQuery ajax 传递JSON数组到Spring Controller
jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组。
1、js代码
var relationArrays=new Array();
//获取所有组的人员信息grid数据
var allGrid= $(".userGrid");
for(var i=0;i<allGrid.length;i++){
var rows=$(allGrid[i]).datagrid("getRows");
$.each(rows,function(i,item){
relationArrays.push(item);
})
}
$.ajax({
type : "POST",
url : '../projectController/addRelations',
data:{"params":JSON.stringify(relationArrays)},
dataType : 'json',
cache : false,
success : function(data) {
alert(data.msg);
}
});
2、java代码
@RequestMapping("/addRelations")
public void addRelations(HttpServletRequest request,HttpServletResponse response, HttpSession session) {
String jsonStr = request.getParameter("params");
//存储需要insert的项目人员关系信息
List<ProjectRelation> relationList=new ArrayList<ProjectRelation>();
ProjectRelation relation=null;
JSONArray jsonArray = JsonUtil.parseArray(jsonStr);
for(Object ob : jsonArray){
JSONObject jObject = (JSONObject) ob;
relation=new ProjectRelation();
relation.setProjectId(pId);
relation.setChargemanId(jObject.getInteger("chargemanId"));
relation.setGroupId(jObject.getInteger("groupId"));
relation.setUserId(jObject.getInteger("userId"));
relation.setProjectRole(jObject.getInteger("projectRole"));
relationList.add(relation);
}
//先查询项目中所有已有人员信息,
int result=projectServiceImpl.saveProjectRelations(relationList);
HashMap<String, Object> map = new HashMap<String, Object>();
try {
if(result==jsonArray.size()){
map.put("msg", "关联信息添加成功");
}
else {
map.put("msg", "关联信息添加错误");
}
WriteJsonUtil.writejson(map, response);
} catch (Exception e) {
e.printStackTrace();
map.put("msg", "关联信息添加错误");
WriteJsonUtil.writejson(map, response);
}
}
3、JSONUtil代码
public static JSONArray parseArray(String text){
JSONArray jsonArray=JSON.parseArray(text);
return jsonArray;
}
具体JsonUtil代码请从该链接下载http://files.cnblogs.com/files/DylanZ/JsonUtil.rar
jQuery ajax 传递JSON数组到Spring Controller的更多相关文章
- Spring MVC Controller与jquery ajax请求处理json
在用 spring mvc 写应用的时候发现jquery传递的[json数组对象]参数后台接收不到,多订单的处理,ajax请求: "}]}]} $.ajax({ url : url, typ ...
- mvc jquery ajax传递数组null问题
mvc jquery ajax传递数, areaIds是个int数组.后台action用list<int>接收.当我想传空值时,先用null传递,结果action收到的AreaIds竟然 ...
- 用ajax传递json,返回前台的中文乱码问题
java项目中用ajax传递json,返回前台时中文出现问号(乱码问题)的解决办法 首先看一下没有解决前的状态: 我用的框架是ssm,在springMVC中我配置了编码格式为utf-8,每个jsp页面 ...
- ASP.NET jquery ajax传递参数
第一种:GET传递 前台 ajax GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: func ...
- Ajax传递json数据简介和一个需要注意的小问题
Ajax传递json数据 Ajax操作与json数据格式在实际中的运用十分广泛,本文为大家介绍一个两者相结合的小案例: 项目结构 我们新建一个Django项目,在里面创建一个名为app01的应用: p ...
- Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)
form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...
- jquery ajax返回json数据进行前后台交互实例
jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...
- boke例子: freermarker:在使用ajax传递json数据的时候多出冒号
boke例子: freermarker:在使用ajax传递json数据的时候多出冒号 json数据是用JSON.stringify()格式化的数据,然后用ajax传递,发现数据多出一个冒号:, 后来度 ...
- Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面
一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...
随机推荐
- MyCat数据库中间件 - 分库
MyCat MyCat用于解耦分布式数据库与java,比如分库分表以后,需要查询某条数据时,需要java根据需要查的数据先计算去哪个库查,然而有了Mycat就不用自己计算怎么存储,怎么查询了.MyCa ...
- SpringMVC配置三大组件
1.组件扫描器 使用组件扫描器省去在spring容器配置每个Controller类的繁琐. 使用<context:component-scan>自动扫描标记@Controller的控制器类 ...
- 版本控制Git使用最佳实践
总结版本控制Git的使用,应明确有哪些具体的场景 应用场景 紧急上线(hotfix) 功能开发(feature) 测试(dev/release) 生产(master) 紧急上线 4.git c ...
- Running Web API using Docker and Kubernetes
Context As companies are continuously seeking ways to become more Agile and embracing DevOps culture ...
- tomcat9 点击bin目录下的startup.bat一闪而过
我装的是tomcat9免安装版,jdk版本是11,之后去tomcat bin目录下点击startup.bat闪退(好吧,只有想办法解决了) 博客中的解决办法五花八门,什么环境变量没配好....不过都不 ...
- bzoj5358
Problem A. 口算训练Input file: stdinOutput file: stdoutTime limit: 5 secondsMemory limit: 512 megabytes小 ...
- A - 敌兵布阵 HDU - 1166 线段树(多点修改当单点修改)
线段树板子题练手用 #include<cstdio> using namespace std; ; int a[maxn],n; struct Node{ int l,r; long lo ...
- Spring03-AOP
一. AOP介绍 1. Aop介绍 AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编 ...
- 【XSY1528】azelso 概率&期望DP
题目大意 有一条很长很长的路(出题人的套路),你在\(0\)位置,你要去\(h\)位置. 路上有一些不同的位置上有敌人,你要和他战斗,你有\(p\)的概率赢.若你赢,则你可以走过去,否则你会死.还 ...
- Tomcat控制台总是打印日志问题的解决办法
问题 使用gradle启动项目,在tomcat控制台中不停地打印perf4j性能日志,导致开发过程很卡很慢.明明修改了logback.xml配置文件,让它输出到log文件中,而不是控制台,但是不起作用 ...