.net - 状态码:415 MVC 中不支持的媒体类型
问题描述
我在实践中第一次看到这个错误。我的项目是.Net Core 2.1 MVC。当我尝试登录时抛出错误。没有什么特别的。简单的AccountController和像往常一样的登录表单。错误:状态码:415;不支持的媒体类型控制器:
[HttpPost]
[AllowAnonymous]
public async Task<IActionResult> Login([FromForm]LoginViewModel loginViewModel)
{
if (!ModelState.IsValid)
{
return View(loginViewModel);
}
IdentityUser user = null;
if (loginViewModel.EmailOrUsername.Contains("@"))
{
user = await _userManager.FindByEmailAsync(loginViewModel.EmailOrUsername);
}
else
{
user = await _userManager.FindByNameAsync(loginViewModel.EmailOrUsername);
}
if (user != null)
{
var result = await _signInManager.PasswordSignInAsync(user, loginViewModel.Password, false, false);
if (result.Succeeded)
{
return Redirect(loginViewModel.ReturnUrl ?? "/");
}
}
ModelState.AddModelError("", "Invalid Username or Password");
return View(loginViewModel);
}
形式:
<form asp-action="login" asp-controller="account" method="post">
<input type="hidden" asp-for="ReturnUrl" />
<div class="form-group">
<label asp-for="EmailOrUsername"></label>
<input asp-for="EmailOrUsername" class="form-control" />
<span asp-validation-for="EmailOrUsername"></span>
</div>
<div class="form-group">
<label asp-for="Password"></label>
<input asp-for="Password" class="form-control" />
<span asp-validation-for="Password"></span>
</div>
<button type="submit" class="btn buy-now-btn">Login</button>
<a asp-action="register" asp-route-returnUrl="@Model.ReturnUrl" class="float-right">Don't have an account? Register here!</a>
</form>
最后是模型:
public class LoginViewModel
{
[Required]
[Display(Name = "Email/Username")]
public string EmailOrUsername { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
public string ReturnUrl { get; set; }
}
解决方案
尝试将 Content-Type Header 添加到您的请求中
推荐阅读
- mysql - 错误“消息”:“未定义数据库”节点
- java - Java - 尝试根据参数中的 2 个字符串值引发错误
- c++ - 认为 C++ 中的接口用于“数据”和“程序”之间的通信是否合理?
- sockets - Java try-with-resource 的 Kotlin 嵌套使用函数
- ssl-certificate - Webview 中 onReceivedSslError() 的替代方法是什么?
- html - 如何水平列出彼此相邻的 3 个 Div 元素?
- android - 如何在应用关闭之前从 firebase 实时数据库中删除?
- javascript - Angular:Http Post调用将pdf文档发送到服务器
- bash - 获取目录上的总空间和剩余空间以及其中所有目录的大小
- jquery - 如何在 jQuery 中使用 AM 和 PM 时间对下拉菜单进行排序?