1. 程式人生 > >頁面資料組裝成json格式傳到後臺儲存

頁面資料組裝成json格式傳到後臺儲存

頁面儲存按鈕:

 //儲存 或提交
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);
}