问题场景
执行的修改操作,根据数据id 查到要修改的数据,再把修改后的数据保存到数据库中。
为什么不直接用 JSON.stringify(data.field)?
因为修改的这条数据涉及到两张表的字段以及对应的是两个实体,后台controller 不太好接收数据,只能分开传递。
data应该是表单中的所有数据,尝试过data.field.urid 不行,只好用Jquery 取值
处理方法
前台
//监听提交
form.on('submit(add)', function(data){
var data={"urid":$("#urid").val(),"roleid": $('input[type=checkbox]:checked').val()};
//发异步,把数据提交给php
$.ajax({
type: "POST",
url: "${path}/admin/edit",
data:data,
dataType: "html",
success: function(response){
console.log(response);
if(response.status==200){
layer.alert("修改成功", {icon: 6},function () {
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
});
}else{
layer.msg("修改失败",{icon: 5});
}
}
});
return false;
});
注意ajax的dataType要设置为html,因为后台返回的是字符串,不是json数据
而且 contentType : ‘application/json’, 也不能写
后台
@RequestMapping("edit")
@ResponseBody
public String update(HttpServletRequest request,HttpServletResponse response) {
String urid = request.getParameter("urid");
String roleid = request.getParameter("roleid");
return “”;
}