頁面資料組裝成json格式傳到後臺儲存
阿新 • • 發佈:2019-02-05
頁面儲存按鈕:
//儲存 或提交 function saveDetail(buttonType) { //獲取頁面的基本資訊 var atalasDraft = $("#validation-form").serializeObject(); var valided = true; //alert(JSON.stringify(atalasDraft)); //判斷封面是否上傳 if($("#image_div3").find(".img_preview").length == 0){ alertShow("封面為必填項!"); valided = false; return false; } //判斷圖片是否上傳 if($("#image_div4").find(".img_preview").length == 0){ alertShow("圖片為必填項!"); valided = false; return false; } //判斷圖片不能超過100張 if($("#image_div4").find(".img_preview").length > 100){ alertShow("圖片最大支援100張!"); valided = false; return false; } //判斷分類標籤 if(atalasDraft.categoryTag== undefined){ alertShow("分類標籤為必填項!"); valided = false; return false; } try { valided = $("#validation-form").validate(); }catch (e){ console.warn(e.message); valided = false; } //判斷 圖片序號是否重複 var numberMap={}; var returnEach=true; $("#image_div4").find(".img_preview").each(function(i){ var key = $(this).find(".nunber_input").val(); //alert("key:"+key+",value:"+numberMap[key]); if(numberMap[key]==null ||numberMap[key]==undefined){ numberMap[key] = 1; }else{ alertShow("圖片序號【"+key+"】重複,請修改!"); valided = false; returnEach = false; } if(returnEach == false){ valided = false; return false; } }); console.log("校驗結果="+valided) if(valided){ $("#saveButton").attr("disabled","disabled"); $("#submitButton").attr("disabled","disabled"); $("#closeButton").attr("disabled","disabled"); //必填項校驗通過之後組裝標籤和圖片新增兩個多選想內容到activityInfo物件中 //獲取標籤 var tags = $.trim($("#tag").val()); atalasDraft["tag"] = tags; //獲取封面 var coverImg ={}; $("#image_div3").find(".img_preview").each(function(i){ coverImg.imageUrl = $(this).find("input[name='imgs']").val(); coverImg.openId = $(this).find("input[name='openId']").val(); coverImg.caseId = $(this).find("input[name='caseID']").val(); coverImg.sortNum = $(this).find("input[name='number']").val(); //coverImg.description = $(this).find("input[name='description']").val(); }) atalasDraft["jzAtlasImageDraft"] = coverImg; //獲取圖片 var imgs =[];//注意:定義陣列對應後臺vo類裡面的list $("#image_div4").find(".img_preview").each(function(i){ var img = {};//注意:定義類 img.imageUrl = $(this).find("input[name='imgs']").val(); img.openId = $(this).find("input[name='openId']").val(); img.caseId = $(this).find("input[name='caseID']").val(); img.sortNum = $(this).find("input[name='number']").val(); img.description = $(this).find("input[name='description']").val(); imgs[i] = img; }) atalasDraft["jzAtlasImageDrafts"] = imgs; //組裝按鈕型別(“儲存”或者“提交”) atalasDraft["buttonType"] = buttonType; //alert("activityInfo的資料;"+JSON.stringify(atalasDraft)); $.ajax({ contentType:"application/json", url:$("#validation-form").attr("action"), data: JSON.stringify(atalasDraft),//注意:將json物件轉換為json格式 method:"post", success:function (data) { $("#saveButton").attr("disabled",false); $("#submitButton").attr("disabled",false); $("#closeButton").attr("disabled",false); if(200 == data.code){ $("#id").val(data.value); alertShow(data.msg); clickIframeButton("圖集編輯列表","searchButton"); }else{ alertShow("儲存失敗!"); } }, error:function (msg) { $("#saveButton").attr("disabled",false); $("#submitButton").attr("disabled",false); $("#closeButton").attr("disabled",false); alertShow("系統異常,請稍後再試!"); } }); } }
接受頁面資訊的vo類:
public class JzAtlasDraftVo extends JzAtlasDraft{ //接收頁面按鈕操作型別 private Integer buttonType; //存放封面 JzAtlasImageDraft jzAtlasImageDraft; // 存放圖資訊 private List<JzAtlasImageDraft> jzAtlasImageDrafts; public Integer getButtonType() { return buttonType; } public void setButtonType(Integer buttonType) { this.buttonType = buttonType; } public JzAtlasImageDraft getJzAtlasImageDraft() { return jzAtlasImageDraft; } public void setJzAtlasImageDraft(JzAtlasImageDraft jzAtlasImageDraft) { this.jzAtlasImageDraft = jzAtlasImageDraft; } public List<JzAtlasImageDraft> getJzAtlasImageDrafts() { return jzAtlasImageDrafts; } public void setJzAtlasImageDrafts(List<JzAtlasImageDraft> jzAtlasImageDrafts) { this.jzAtlasImageDrafts = jzAtlasImageDrafts; }
controller接收請求:
/** * 儲存 圖集詳情頁 * * @return */ @ResponseBody @RequestMapping(value = "/saveAtlasDetail", method = RequestMethod.POST) public Result saveAtlasDetail(@RequestBody JzAtlasDraftVo vo) {//注意:@RequestBody一定要加 /*HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String userName = request.getRemoteUser();*/ LocalSessionUser localSessionUser = URMSSessionUserUtil.getSessionUser(); return atlasService.saveAtlasDetail(vo, localSessionUser); }