- 前端页面获取Form元素封装为json字符串。
function getFormJson(){ var test = $("#id").serializeArray(); //serializeArray() 方法通过序列化表单值来创建对象数组(名称和值)。 var dataStr = "{"; for(var i = 0;i < test.length;i++){ var nameT = test[i].name; var valueT = test[i].value; dataStr = dataStr + "\"" + nameT + "\":\"" + valueT.trim() + "\","; //trim()方法用来去除空格 } /*获取复选框的值,一般复选框只有一个时,我们在选中和未选中时都要传一个值。选中时,上面的方法会获取到,但是未选中时,这里可以定义你要传的值,我这里传的值为字符串 '0' ,当然你也可以定义其他的值*/ $("#"+ id + " input[type='checkbox']").each(function(){ if(!$(this).is(':checked')){ //这里判断复选框如果未被选中的话执行下一步 dataStr = dataStr + "\"" + $(this).attr('name') + "\":\"0\","; } }); dataStr = dataStr.substring(0, dataStr.length - 1); //去掉最后一个属性的逗号 dataStr = dataStr + "}"; // var dataJson = JSON.parse(dataStr); //parse()方法把dataStr对象转成json数据 return dataStr; }
- ajax传递数据到后台。
function submitComment(){ //此处做必填校验 var subData =getFormJson(); $.ajax({ url: "/saveGdData", type: 'post', data: subData, contentType: "application/json;charset=UTF-8", async: false, cache: false, success:function (data) { if(data=="true"){ myTips("success","数据保存成功!"); //设置按钮不可点 $("#submitData").removeClass().addClass("weui-btn weui-btn_disabled weui-btn_primary").removeAttr("onclick"); }else{ myTips("error", "数据保存失败!"); } }, error:function (error) { console.log(error); } });
- 使用jpa的save方法更新数据,不存在则保存。
@RequestMapping("/saveGdData") @ResponseBody public String saveGdData(@RequestBody Bill bill){ String msg = "true"; bill.setCsr_cssj(new Date()); Bill returnBill = billService.save(bill); if(returnBill==null){ msg = "false"; } System.out.println(bill.toString()); return msg; }
- 重写实体类的toString
public String toString() { Field[] fields = this.getClass().getDeclaredFields();; StringBuffer sb = new StringBuffer(); sb.append(this.getClass().getName() + ":[\n"); for (Field field : fields) { sb.append(" "); sb.append(field.getName() + " = "); try { sb.append(field.get(this)); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } sb.append("\n"); } sb.append("]"); return sb.toString(); }
SpringBoot前端页面获取form中元素,封装为json字符串,使用JPA更新数据
最新推荐文章于 2022-07-26 10:59:33 发布