gpt4 book ai didi

javascript - 从 ajax 发送的数据为 null 到 MVC Controller

转载 作者:行者123 更新时间:2023-11-29 15:38:16 25 4
gpt4 key购买 nike

我得到了使用 ajax 的 JS 函数。它调用假设获取数据并解析它的 Controller 。它看起来像客户端数据变量形成正常,但 Controller 什么也得不到!

我调用 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;
}

在 Controller 端

  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

以及 Controller 得到什么 http://i.gyazo.com/660bfd8b3808328d974c1c2b89993249.png

我真的不明白哪里出了问题。你能帮我修一下吗?

最佳答案

你的方法 public JsonResult getReceiversDiagram(DesignReceiversMap postData)期望 DesignReceiversMap 对象作为输入。但这不是您调用该方法时发送的内容。

在你的 Controller 中试试这个:

public JsonResult getReceiversDiagram(string postData)

这在你的 js 中:

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

然后你就可以解析数据了。

关于javascript - 从 ajax 发送的数据为 null 到 MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com