【发布时间】:2019-02-16 20:55:53
【问题描述】:
我正在尝试使用 JQuery 将单个对象数据发布到 MVC 控制器,以下是我的代码。
//declare of type Object of GroupData
var GroupData = {};
//pass each data into the object
GroupData.groupName = $('#groupName').val();
GroupData.narration = $('#narration').val();
GroupData.investmentCode = $('#investmentCode').val();
GroupData.isNew = isNewItem;
//send to server
$.ajax({
url: "/Admin/SaveContributionInvestGroup",
type: "POST",
contentType: "application/json;charset=utf-8",
dataType: "json",
data: JSON.stringify({ GroupData: JSON.stringify(GroupData) }),
success: function (res) {
alertSuccess("Success", res.Message);
//hide modal
$('#product-options').modal('hide');
hide_waiting();
},
error: function (res) {
alertError("Error", res.Message);
}
});
下面是我的控制器。
[HttpPost]
public JsonResult SaveContributionInvestGroup(ContributionInvestmentGroup GroupData)
{
ClsResponse response = new ClsResponse();
ClsContributionInvestmentGroup clsClsContributionInvestmentGroup = new ClsContributionInvestmentGroup();
var userID = (int)Session["userID"];
var sessionID = (Session["sessionID"]).ToString();
if (contributionGroupData != null)
{
//get the data from the cient that was passed
ContributionInvestmentGroup objData = new ContributionInvestmentGroup()
{
contributionInvestmentGroupID = 0,
groupName = GroupData.groupName,
narration = GroupData.narration,
investmentCode = GroupData.investmentCode,
isNew = GroupData.isNew
};
response = clsClsContributionInvestmentGroup.initiateNewContributionInvestmentGroup(sessionID, objData);
}
else
{
response.IsException = true;
response.IsSucess = false;
response.Message = "A system exception occurred kindly contact your Administrator.";
}
return Json(new
{
response.IsSucess,
response.Message
});
}
问题是,数据没有被发送到控制器,控制器接收到一个空对象。 请协助,非常感谢您的努力,谢谢。
【问题讨论】:
-
您发送的是
GroupData,但参数是contributionGroupData。根据您的 C# 类的外观,您也可能不需要该外部结构。 -
@RoryMcCrossan 我已将它设置为contributionGroupData,但它仍然不起作用......
-
它只是
data: GroupData,并删除contentType选项 -
如果你生成了你正确的视图,那么你只需要
var GroupData = $(yourForm).serialize(); -
如果您确实使用了
contentType: 'application/json(这是不必要的),那么它将是data: JSON.stringify({ GroupData: GroupData }),或data: JSON.stringify(GroupData);
标签: javascript c# jquery asp.net-mvc-5