[英]Passing JSON data from View to Controller is null
我正在尝试做的是让用户能够添加将要包含某些模型数据的新/删除JQuery选项卡,然后将其保存到数据库中。 我正在尝试进行ajax调用以将JSON数据传递给控制器,但是当我对其进行跟踪时,数据将为null。
视图:
// gloabal variables
var tabs;
.
.
.
tabs = $("#tabs").tabs();
.
.
.
// save tabs to database
function SaveTabs() {
var d1 = ko.toJSON(this);
var associativeArray = { tabs: d1 };
$.ajax({
url: "@Url.Action("SaveTabs")",
data: associativeArray,
dataType: "json",
type: "POST",
traditional: true,
contentType: "application/json; charset=utf-8",
});
};
控制器:
public ActionResult SaveTabs(Survey survey, List<TabViewModel> tabs)
{
//TODO: save to DB
//Need to finish it so that we can return real values.
return Json(tabs);
}
d1变量不是调查,我还没有办法进行调查,我只是想确保可以先将数据传递到控制器中。 因此,我假设我需要在控制器的SaveTabs方法中有一个带有选项卡和调查的字典。
根据supercool和Brian的评论,您需要更新ajax调用以添加JSON.stringify
例如:
$.ajax({
url: "@Url.Action("SaveTabs")",
data: JSON.stringify(associativeArray),
dataType: "json",
type: "POST",
traditional: true,
contentType: "application/json; charset=utf-8",
});
试试看:
data: associativeArray.serialize()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.