[英]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;
}
那么,它發送了什么
什么控制器得到
我真的不明白什么是錯的。 你能幫我解決一下嗎?
您的方法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.