[英]Why I'm getting a HTTP 400 (bad request) error when I'm posting user credentials with JQuery .ajax() method, to a C# controller? (ASP.NET Mvc Kestrel)
[英]I'm getting a 500 status code response when I update ajax ASP.NET MVC
我想更新我的用户信息,但出现错误
500状态码响应
当我更新数据时。
这是我的代码:
上下文类:
public void Update(UserInformation model){var user = _db.UserInfo .FirstOrDefault(m_id => m_id.Id == model.Id);
_db.Update(user);
_db.SaveChanges();
}
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> PostEdit(UserInformation userInformation)
{
if (!ModelState.IsValid)
{
}
_ui_context.Update(userInformation);
return new JsonResult("User Updated!");
}
我的AJAX电话:
if (action == "Update") {
$.ajax({
method: "POST",
url: "/UserInformation/PostEdit",
data: $('#form_data').serialize(),
dataType: "JSON",
success: function (data) {
alert(data);
clearFields();
$("#exampleModal").modal("hide");
loadUser();
}
});
}
这是我对模式的看法:
<form method="POST" id="form_data">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="Id" />
<input type="hidden" id="action_value" value="" />
<div class="form-group">
<label asp-for="FirstName" class="control-label"></label>
<input asp-for="FirstName" class="form-control" id="txtFirst" />
<span asp-validation-for="FirstName" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="LastName" class="control-label"></label>
<input asp-for="LastName" class="form-control" id="txtLast" />
<span asp-validation-for="LastName" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Location" class="control-label"></label>
<input asp-for="Location" class="form-control" id="txtLocation" />
<span asp-validation-for="Location" class="text-danger"></span>
</div>
</form>
这是我得到的错误:
谢谢您的回答! 非常感谢
500状态表示PostEdit()操作中存在异常。 请检查您的模型userInformation传递给方法_ui_context.Update(userInformation);
你可以改变
if (!ModelState.IsValid)
{
return new JsonResult("Model is invalid");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.