Ajax传递json格式数据以及Java后台接收转化为实体类对象的方法
前端使用Ajax传递数据function updateCart() {var updateCart = []; //创建一个空数组var i=0;//根据class循环页面标签$(".cartTr").each(function () {updateCart[i] = new Object();//得到需要的值
·
前端使用Ajax传递数据
function updateCart() {
var updateCart = []; //创建一个空数组
var i=0;
//根据class循环页面标签
$(".cartTr").each(function () {
updateCart[i] = new Object();
//得到需要的值
updateCart[i].cid = $(this).find("#cid").val();
updateCart[i].count = $(this).find("#count").val();
//输出得到的结果
console.info("i===="+i+"====cid====="+updateCart[i].cid+"======count======"+updateCart[i].count);
i++;
});
//json格式转化为字符串
updateCart = JSON.stringify(updateCart);
//输出结果
console.info(updateCart);
//Ajax传数据
$.post("${pageContext.request.contextPath}/cart/updateByCid",
{"cartObj":updateCart}, //数据为json格式
function (data) {
if(data.status=="true"){
alert("修改成功");
return;
}else {
alert("修改失败");
return;
}
},"json"
);
}

后台(Controller)接收数据
这里接收json数据用的是fastjson,依赖如下:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
//method为提交方式,可写可不写
@RequestMapping(value = "updateByCid",method = RequestMethod.POST)
@ResponseBody
//先用字符串的格式接收
public Map<String,Object> updateByCid(@RequestParam String cartObj){
Map<String,Object> map=new HashMap<>();
int c=0;
//转化为json格式的数组
JSONArray paradms = JSON.parseArray(cartObj);
//循环数组
for (int i = 0; i< paradms.size();i++) {
//得到每一个json
JSONObject paramjson = (JSONObject) paradms.get(i);
//将json格式转化为实体类对象
Cartitem cartitem = paramjson.toJavaObject(Cartitem.class);
//调用方法
c = cartitemService.updateByCid(cartitem);
}
if (c>0){
map.put("status","true");
}else {
map.put("status","false");
}
return map;

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)