我已经尝试了很多事情,正如您将在我的注释掉的代码中看到的那样。有效的(有点 - 到达控制器但没有数据)是没有注释掉的。我正在访问我的控制器,但所有数据都是 0。我需要传入整个 ViewModel,因为它有很多字段。预先感谢
这是我的 Ajax 不工作:
function summaryrpt() {
//alert('dd');
//var JsonModel = '@Html.Raw(Json.Serialize(@Model))';
//var summmodel = JSON.parse(JsonModel);
//var jsonInput = @Model;
$.ajax({
type: "POST",
//data: { model = JSON.stringify(summmodel) },
//data: JsonModel = JSON.stringify(JsonModel) ,
//data: { JsonModel: JSON.stringify(@Model) },
dataType: 'JSON',
data: model = '@Html.Raw(Json.Serialize(@Model))',
//data: { jsonInput: JSON.stringify(@Model) }',
//url: '@Url.Action("ApproveSummaryReport", "Home")',
url: '/Home/ApproveSummaryReport'
}).done(function (res) {
//alert('done');
});
}
控制器方法签名
[HttpPost]
public ActionResult ApproveSummaryReport(SummaryViewModel model)
请参阅我尝试过的注释掉的代码。
尝试以下操作:
function summaryrpt() {
var model = @Html.Raw(Json.Encode(Model));
$.ajax({
type: "POST",
url: '/Home/ApproveSummaryReport'
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(model),
success: function (result) { }
});
}