在前端用ajax实现传递多个参数的方法,可以一个表单对象,多个其他类型参数,或多个对象亦同理。大概步骤为
1.把表单序列化后转成json对象
var formDate = $(form).serialize();
2.写个把序列化后的数据转换成json对象的方法
$.fn.serializeJson = function() {
var serializeObj = {};
var array = this.serializeArray();
$(array).each(
function() {
if (serializeObj[this.name]) {
if ($.isArray(serializeObj[this.name])) {
serializeObj[this.name].push(this.value);
} else {
serializeObj[this.name] =
[serializeObj[this.name],this.value ];
}
} else {
serializeObj[this.name] = this.value;
}
});
return serializeObj;
};
3.得到{键:值}这种类型的数据
var data = formData.serializeJson();
4.创建一个对象把表单信息和数组封起来
var object = {};
object.property1= data;
object.property2 = data2;
object.property3 = data3
......
5.ajax发送请求加上
data : JSON.stringify(object),
contentType: "application/json",
6.建个类封装要传递的参数
7.springmvc后台接收,用@RequestBody标记方法入参,入参对象为封装参数的类
@RequestMapping(value="/test",method = RequestMethod.POST)
@ResponseBody
public Object updateEnterprise(@RequestBody Object object){
//其中Object为新建的类,
//用来封装前台要传递的数据的一个类
return new HashMap<String, String>();
}