我想要做的是让用户能够添加新的/删除JQuery选项卡,将有他们的某些模型数据,然后将其保存到数据库。我正在尝试进行ajax调用,以将JSON数据传递给控制器,但是当我追踪它时,数据将变为空。从视图传递JSON数据到控制器是空的
查看:
// 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方法中有一个包含选项卡和调查的字典。
的jQuery已经改变了一些,因为我想你”重做最后一次,但我很确定你需要串联'associativeArray';我不相信你可以将原始对象传递给'data'。 –
正如布莱恩提到的,你必须使用'json.tostringify(// required goes here)'。你不能通过Raw。序列化应该完成 –