【发布时间】:2020-08-25 00:21:47
【问题描述】:
我制作了调用IActionResult 的AJAX。但我不能将模型传递给它我只是传递一个字符串。我的问题是如何改为传递模型?
AJAX
$('#CreateLesson').on('submit', function (e) {
e.preventDefault();
var lesson = $(this).serialize();
$.ajax({
type: "POST",
url: '@Url.Action("Create", "Lessons")',
dataType: "json",
async: false,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(lesson),
success: function (data) { alert("succes"); },
error: function (error) {
console.log(error);
alert(JSON.stringify(error));
}
});
});
控制器
[HttpPost]
//[ValidateAntiForgeryToken]
public IActionResult Create([FromBody]string lesson)
{
if (ModelState.IsValid)
{
_context.Add(lesson);
_context.SaveChanges();
return PartialView("_MyLessons", lesson);
}
return RedirectToAction("AjaxMetho", "Account");
//return PartialView("Create");
}
出来的文字很奇怪。它的字段比模型多。我的模型只有名称、等级、目标、描述。
“名称= C%23%20vvvvvv&等级= 1&子ID = 123&条形码= vvvvvvnnnnnnnnnnnnnn与目标= ABC%40abc123&描述= ABC%40abc123&__ RequestVerificationToken = CfDJ8Ekvaq-NSQtAn7SGG0DJv7-ETDuOvAlwPoMzNMGyUSfJ6RRc2UY3KRxQbq0VEzBRE-YgHTSeMtnKY8DqTKXk8GoGsvkcB87xEM0-G5zbBO6BtoWLncH1ROE7iE2kiUbjBsPg_pwzZpXPUhS9_Nb14ay02l-N_DSULUT22cTa8zY5zpcyHY5Nsp-mN7tfLYiOGA” P>
当我尝试在没有 stringify 的情况下传递模型并更改 IActionResult 的参数以获取课程模型而不是字符串时,我得到 null !!
我应该怎么做才能通过模型探测?
【问题讨论】:
标签: jquery asp.net-mvc asp.net-core jquery-ajax