При запросе get ошибка "400", при post - "405"
решил к проекту на asp.net core с обычными контроллерами добавить api контроллер. View получаю через обычный контроллер. Код контроллера API:
[Route("[controller]")]
[ApiController]
public class ApiController : Controller
{
Context db;
public ApiController(Context context)
{
db = context;
}
[HttpPost]
public async Task<IActionResult> Registration([FromBody]User user)
{
if (ModelState.IsValid)
{
db.Users.Add(user);
await db.SaveChangesAsync();
return Ok(user);
}
return BadRequest(ModelState);
}
ставил точку останова на этом методе. Запрос так и не поступил на обработку методу
код cshtml:
@{
Layout = "~/Views/Home/MasterMainPage.cshtml";
}
<h1>Registration</h1>
<form id="loginform" method="post">
<p>Имя</p>
<input type="text" name="Name" id="Name"/><br />
<p>Возраст</p>
<input type="number"name="Age" id="Age"/><br />
<p>Ник</p>
<input type="text" name="NickName" id="NickName"/><br />
<p>Почта</p>
<input type="text" name="Email" id="Email"/><br />
<p>Пароль</p>
<input type="text" name="Password" id="Password"/><br />
<input type="submit" value="отправить"/>
</form>
<script>
$(function () {
$("#loginform").on("submit", function (e) {
e.preventDefault();
$.post("/Api/Registration", $("#loginform").serializeArray())
.done(function (data) { console.log(data); })
.fail(function () { console.log("fail"); });
});
});
</script>
Где я мог допустить ошибку?