ajax提交複雜物件資料

來源:互聯網
上載者:User

標籤:

public class RouteItemManageReq {    private List<WorkNodeReq> targetNodes;    private RouteItemReq obj;    public List<WorkNodeReq> getTargetNodes() {        return targetNodes;    }    public void setTargetNodes(List<WorkNodeReq> targetNodes) {        this.targetNodes = targetNodes;    }    public RouteItemReq getObj() {        return obj;    }    public void setObj(RouteItemReq obj) {        this.obj = obj;    }}
    public @ResponseBody List<SpiderBaseRespCenterExt> pushAddRouteItem(RouteItemManageReq req,Model model) {        return nodeManageService.pushAddRouteItem(req);    }

要在ajax中提交類似這樣的結構,不能直接將js直接附加到ajax請求的data上,否則不管是數組還是屬性都會以obj[prop][subprop]的方式傳遞到服務端,導致spring mvc無法解析而報錯。

所以,如果在ajax中需要通過拼接成string的方式傳遞。類似如下:

            for(var x=0;x<targetNodes.length;x++) {                formData = formData + "targetNodes[" + x + "].clusterName=" + targetNodes[x].split(":")[0] + "&";                formData = formData + "targetNodes[" + x + "].ip=" + targetNodes[x].split(":")[1] + "&";                formData = formData + "targetNodes[" + x + "].port=" + targetNodes[x].split(":")[2] + "&";            }            formData = formData + "obj.routeItem.serviceId=" + $("#myModal-route input[name=‘serviceId‘]").val() + "&";            formData = formData + "obj.routeItem.systemId=" + $("#myModal-route input[name=‘systemId‘]").val() + "&";            formData = formData + "obj.routeItem.subSystemId=" + $("#myModal-route input[name=‘subSystemId‘]").val() + "&";            formData = formData + "obj.routeItem.appVersion=" + $("#myModal-route input[name=‘appVersion‘]").val() + "&";            formData = formData + "obj.routeItem.companyId=" + $("#myModal-route input[name=‘companyId‘]").val() + "&";            formData = formData + "obj.routeItem.clusterName=" + $("#myModal-route input[name=‘clusterName‘]").val();            $.ajax({                url: "/middle/00000110.json",    //請求的url地址                dataType: "json",   //返回格式為json                // async: false, //請求是否非同步,預設為非同步,這也是ajax重要特性                data: formData,    //參數值                type: "GET",   //請求方式

 

ajax提交複雜物件資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.