form表單,轉Map,轉List
阿新 • • 發佈:2018-12-17
1、form表單包含,select下拉列表,input輸入框等,轉為Map,js如下:
var baseInfo = {};
var formArray =$("#baseInfo").serializeArray();
$.each(formArray,function(i,item){
baseInfo[item.name] = item.value;
});
注:$("#baseInfo"),baseInfo是form的id
2、form表單包含,select下拉列表,input輸入框等,轉為List<Map>,js如下:
var workInfoArr=[]; $("#workContent form").each(function(){ var formObject01 = {}; var formArray01 =$(this).serializeArray() $.each(formArray01,function(i,item){ formObject01[item.name] = item.value; }); workInfoArr.push(formObject01); })
注:$("#workContent form"),workContent 是div的id,取這個div下的所有form進行遍歷
3、ajax的呼叫,傳遞的引數如下:
var jg={"baseInfo":baseInfo,"workInfoArr":workInfoArr} $.ajax({ type: "post", url:"${pageContext.request.contextPath}/refordInfo/updateRefordInfo", async: true, data: JSON.stringify(jg), contentType : 'application/json', dataType:"json", success: function(data) { alert("提交成功") }, error: function(request) { alert("提交失敗") } });
4、後端使用@RequestBody Map<String,Object> map接收引數
總述:form表單的所有input,select,radio,checkbox都必須有name屬性,因為遍歷轉Map的時候key用的是item.name