我得到了使用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;
}
那么,它发送了什么
和控制器得到什么
我真的不明白什么是错的。你能帮我解决一下吗?
答案 0 :(得分:1)
您的方法public JsonResult getReceiversDiagram(DesignReceiversMap postData)
期望DesignReceiversMap对象作为输入。但是,当您调用该方法时,这不是您发送的内容。
在你的控制器中试试这个:
public JsonResult getReceiversDiagram(string postData)
这是你的js:
$.ajax({
type: "POST",
url: action_url,
async: false,
data: "postData=" + postData,
success: function (data) {
mainData = data;
}
});
然后你可以解析数据。