【发布时间】:2017-06-16 12:42:57
【问题描述】:
我正在 jquery 中编写一个函数,将数据发布到控制器。目前它正在将表单数据发布到控制器,但是当我发布带有表单数据的复选框列表时,它总是在控制器中发送计数 0 这是我的代码。
function SubmitForm() {
var studentFormData = $("#frmStudent").serialize();
debugger;
var SubjectArraydata = new Array();
$(".chkSubject:checked").each(function () {
var row = {
"SubjectId": $(this).data("id")
};
SubjectArraydata.push(row);
});
$.ajax({
url: '@Url.Action("StudentForm", "Student")',
type: "POST",
dataType: "json",
data: studentFormData + JSON.stringify("&subjectData=" + SubjectArraydata),
async: true,
success: function (msg) {
},
error: function () {
}
});
}
控制器:
[HttpPost]
public ActionResult StudentForm(Student student, List<Subject> subjectData)
{
return Json(true);
}
任何人告诉我我的代码中的问题在哪里谢谢。
【问题讨论】:
-
你在控制器端得到了什么?
-
我准确地获得了学生表格数据,但 subjectData 总是返回 0
-
在哪里返回 0?一点都不清楚
-
显示你的控制器
-
为什么是
JSON.stringify(...)?如果subjectData应该是 JSON,那么只在SubjectArraydata上调用JSON.stringify()否则它没有多大意义......
标签: javascript c# jquery asp.net-mvc