controller 获取data: JSON.stringify(param)
1、jsp页面发送ajax的post请求:
form.on('submit(addExpert)',function (data) { var param=data.field;//定义临时变量获取表单提交过来的数据,非json格式 console.log(JSON.stringify(param));//测试是否获取到表单数据,调试模式下在页面控制台查看 $.ajax({ url: _basePath + "reg/addExpert", type:'post',//method请求方式,get或者post dataType:'json',//预期服务器返回的数据类型 data:JSON.stringify(param),//表格数据序列化 {name: value} contentType: "application/json; charset=utf-8", success:function(data) {//res为相应体,function为回调函数 //console.log(data); /* data = {code:1,msg:"chenggong",data:null} */ if(data.code == 1){ layer.alert('操作成功!!!',{icon:6}); }else{ layer.alert('操作失败!!!' + data.msg,{icon:6}); } // 切换页面 //windows.location.href = "localhost:8080/path/xxxx.html";// 百度一下js切换页面的方式(3-4种) }, error:function(){ layer.alert('操作失败!!!',{icon:5}); } }); });
注意:
1、发送数据时,data要转化为json格式
2、basePath是项目根目录
<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %>
2、controller接收请求
@ResponseBody @RequestMapping("addExpert") public ReturnResult<Object> add(@RequestBody User user){ System.out.println(user.toString()); return us.addExpert(user); }
注意:
1、@ResponseBody修饰的方法返回的数据,springmvc将其自动转换成json格式,返回给前端
2.@RequestBody修饰目标方法的传入参数,可以将ajax发送的json对象赋值给参数。