传输一个对象,用于修改对象字段
话不多说,上js代码:
//将序列化数据转为对象 var formData = $("form").serializeArray(); var formObject = {}; for (var item in formData) { formObject[formData[item].name] = formData[item].value; } $.ajax({ url: path + 'msg/save', method: 'get', data: formObject, dataType: 'JSON', success: function(res) { //接口的返回值 console.log(res); } })
后台接口可继续用对象接收
public String save(Msg msg){ service.save(msg); return "保存成功"; }
传输一个带文件的对象(此方法万金油,后端只需用对象啥都能接收)
//data为表单序列化,设置contentType: false, processData: false,文件如果为多个,name确保一致 $.ajax({ url: path + 'msg/update', contentType: false, processData: false, data:new FormData($("#f1")[0]), type: 'post', //HTTP请求类型 success:function(result){ } })
后台用对象接收,接收文件的属性需要是MultipartFile,如果是多个文件可用 List< MultipartFile >
public String update(TRealNameInfo bean) {}
传输数组,通常传输id数组用于批量删除
$.ajax({ type: 'get', url: path+ "msg/delList", data: { 'bookIdList': bookIdList, token: getCookie("token") }, success: function (result) { } })
后台用@RequestParam(value = “bookIdList[]”),(名字要对上,数组的话 ” [ ] “一定要带上 )
public String delbookList(@RequestParam(value = "bookIdList[]") Long[] bookIdList){ }
$.ajax({ type : "POST", url : path + "/msg/projectTypeListDelete", data :{ "projectNames" : projectNameList }, traditional:true , success : function(data,status) { } })
后台直接用数组 String[] projectNames 接收
public GMap delBatch(String[] projectNames , HttpServletRequest request) { }