jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组。
1、js代码
var relationArrays=new Array();
//获取所有组的人员信息grid数据
var allGrid= $(".userGrid");
for(var i=0;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 relationList=new ArrayList();
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 map = new HashMap();
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代码请从该链接下载/files/DylanZ/JsonUtil.rar
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接收.当我想传空值时,先用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
中颖内带LED资源驱动代码
//上一篇写了LCD驱动,本篇写下LED驱动 //DISPCON 最高位为1时, 选择LED驱动,LCD驱动无效 最高位为0时, 选择LCD驱动.LED驱动无效 void Sh79fLed_Init( ...
iOS-键盘监听YYKeyboardManager
如果键盘弹出覆盖了原有的试图,这种效果并不好,所以我们就要在键盘弹出的时候,监听键盘的位置来改变我们一些试图的位置,例如tableView列表等:在这里推荐一个大牛ibireme写的YYKeyboar ...
多路分支----switch语句
switch-case与if-else有相似的作用,都是表达分支的方式. 语法形式: switch(type){ case 常量1: do something; break; case 常量2: do ...
用DOM方式解析XML
一.用DOM方式解析XML 此例子节点结构如下: 1.获取book节点属性 (1).如果不知道节点的属性,通过 NamedNodeMap attrs = book.getAttributes(); 来 ...
(三)使用链式数据实现包(java)
目标: 1)描述数据的链式组织方式 2)描述如何在链式节点链的开头添加新节点 3)描述如何删除链式节点链的首节点 4)描述如何在链式节点链中找到某个数据 5)使用链式节点链实现ADT包 6) ...
Sql语法高级应用之三:存储过程
一.存储过程概述 SQLServer中的存储过程是使用T_SQL编写的代码段.它的目的在于能够方便的从系统表中查询信息,或者完成与更新数据库表相关的管理任务和其他的系统管理任务.T_SQL语句是SQ ...