第一种方法:
var params = $("#FormID").serialize();
$.post("/url",params,function(obj){
if(obj.success)
{
dosomething.......
}
},'json');
第二种方法:
- var arr = $('#polForm').serialize();
- $.param(arr);
- console.log("表单序列化=============="+arr);
- $.ajax({
- url:"/epark/testt.do",
- data:arr,
- type:"post",
- dataType:"json",
- success:function(data){
- alert("测试发送接收成功");
- },
- error:function(){
- console.log("失败");
- }
- })
注意,ajax方法中data传递的是arr,那么问题来了,后台的方法接受时,参数是怎么传递的?
首先,创建一个实体类,要求类的属性和表单中name对应,如下图
然后就是Controller方法了,如下所示,直接把前台传过来的参数写成对应的实体类,会自动进行封装
- @RequestMapping("/testt")
- @ResponseBody
- public void login(Book arr){
- System.out.println(arr.toString);
- }
如果form表单中元素有我们需要的数据,如果被选中则提交,不被选中则不提交,前台传递到后台的参数,会自动封装到对应的实体类中