簡體   English   中英

從ajax作為null發送到MVC控制器的數據

[英]Data sent from ajax as null into the MVC controller

我有使用ajax JS函數。 它調用控制器,它假設獲取數據並解析它。 它像客戶端數據變量形成的確定沒有控制器什么都沒有!

我將JS函數getTheDiagramm('/PPTDesign/getReceiversDiagram', recIntervalsRec.total, recIntervalsRec.records);

這是功能原樣

 function getTheDiagramm(action_url, total_d, records_d) {

                        var mainData;

                        var table_form = {
                            total: total_d,
                            records: records_d
                        }
                        var postData = JSON.stringify(table_form);

                        $.ajax({
                            type: "POST",
                            url: action_url,
                            async: false,
                            data: postData,
                            dataType: "json",
                            contentType: "application/json; charset=utf-8",
                            success: function (data) {
                                mainData = data;
                            }
                        });

                        return mainData;
                    }

在控制器方面

  public JsonResult getReceiversDiagram(DesignReceiversMap postData)
        {
            List<string> resultData = new List<string>();
            return Json(resultData, JsonRequestBehavior.AllowGet);

        }

楷模

public class Design {
        public int recid;
        public String well;
        public String q1;   
        public String q2; 
        public String down; 
        public String up; 
    }

    public class DesignReceivers : Design {
        public String period1; 
        public String period2;
    }
    public class DesignReceiversMap {
        public int total;
        public List<DesignReceivers> records;
    }

那么,它發送了什么 http://i.gyazo.com/d5ef811e0f32e77f29bb4fe1331f9980.png

什么控制器得到 http://i.gyazo.com/660bfd8b3808328d974c1c2b89993249.png

我真的不明白什么是錯的。 你能幫我解決一下嗎?

您的方法public JsonResult getReceiversDiagram(DesignReceiversMap postData)需要public JsonResult getReceiversDiagram(DesignReceiversMap postData)對象作為輸入。 但是,當你調用方法時,這不是你發送的內容。

在你的控制器中嘗試這個:

public JsonResult getReceiversDiagram(string postData)

這在你的js中:

$.ajax({
    type: "POST",
    url: action_url,
    async: false,
    data: "postData=" + postData,
    success: function (data) {
        mainData = data;
    }
});

然后你可以解析數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM