繁体   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