利用thymeleaf引擎创建的html中,使用了adminLTE模板,ajax提交form表单数据,本以为很容易实现,却遇到了很多问题,这里进行总结。
1.get方式提交
通过serialize()序列化出来的是userId=11&userName=11这样格式的字符串对象,data参数直接传递就可以,后端方法的参数是User user,是可以进行解析并拼装成user对象的
var allData = $("#userForm").serialize();
console.log(allData);
$.ajax({
type:"get",
url:"/system/saveUser.action",
contentType:'application/json;charset=UTF-8',
dataType:"json",
traditional:true,
data:allData,
async:true,
success:function(data) {
alert(data);
}
});
2.post方式提交
与get方式的区别是:把表单的信息放到了请求体中提交,所以后端要用@RequestBody User user去进行解析接收,但是此注解必须是要求json格式的字符串,注意:1.json格式 2.字符串
jQuery默认的方法是没有直接转化为json格式的方法的,所以有三种方式
2.1