Jquery Ajax 使用 ASP Core JsonResult 发布
Jquery Ajax Posting with ASP Core JsonResult
我想post在Asp核心中JqueryAjax的一种数据形式。
AJAX 代码
if (contactForm.valid() == true) {
var formData = new FormData();
formData.append("Name", contactForm.find("input[name='Name']").val());
formData.append("Email", contactForm.find("input[name='Email']").val());
formData.append("Subject", contactForm.find("input[name='Subject']").val());
formData.append("Message", contactForm.find("textarea[name='Message']").val());
$.ajax({
url: "/home/contact",
method: 'POST',
data: formData,
processData: false,
}).done(function (data) {
if (data == "success") {
setTimeout(function () { $("#footer_contact__form .alert-success").removeClass("d-none") }, 500);
}
else {
setTimeout(function () { $("#footer_contact__form .alert-danger").removeClass("d-none") }, 500);
}
}).fail(function () {
});
}
控制器
[HttpPost]
public JsonResult Contact(Contact entity)
{
if (ModelState.IsValid)
{
entity.Date = DateTime.Now;
_uow.Contact.Add(entity);
return Json("ok");
}
else
{
return Json("failed");
}
}
执行此操作时出现错误。我如何 post 顺利地使用 Asp 核心和 Ajax 的模型?谢谢。
您应该将 contentType 选项设置为 false。
$.ajax({
url: "/home/contact",
method: 'POST',
data: formData,
processData: false,
contentType:false,
})
更多详细信息,请参阅此thread。
我想post在Asp核心中JqueryAjax的一种数据形式。
AJAX 代码
if (contactForm.valid() == true) {
var formData = new FormData();
formData.append("Name", contactForm.find("input[name='Name']").val());
formData.append("Email", contactForm.find("input[name='Email']").val());
formData.append("Subject", contactForm.find("input[name='Subject']").val());
formData.append("Message", contactForm.find("textarea[name='Message']").val());
$.ajax({
url: "/home/contact",
method: 'POST',
data: formData,
processData: false,
}).done(function (data) {
if (data == "success") {
setTimeout(function () { $("#footer_contact__form .alert-success").removeClass("d-none") }, 500);
}
else {
setTimeout(function () { $("#footer_contact__form .alert-danger").removeClass("d-none") }, 500);
}
}).fail(function () {
});
}
控制器
[HttpPost]
public JsonResult Contact(Contact entity)
{
if (ModelState.IsValid)
{
entity.Date = DateTime.Now;
_uow.Contact.Add(entity);
return Json("ok");
}
else
{
return Json("failed");
}
}
执行此操作时出现错误。我如何 post 顺利地使用 Asp 核心和 Ajax 的模型?谢谢。
您应该将 contentType 选项设置为 false。
$.ajax({
url: "/home/contact",
method: 'POST',
data: formData,
processData: false,
contentType:false,
})
更多详细信息,请参阅此thread。