2
我想将登录表单设置为PartialView或ViewComponent。用户输入用户名和密码我想用ajax登录并显示可能的验证错误,无论是使用jQuery还是重新渲染服务器上的登录表单。我不在乎。使用AJAX和ASP.NET Core登录
这似乎微不足道,但是否有任何现有的样本或模板登录使用AJAX?我不想重新发明轮子。
我开始使用ASP.NET Core Web Application的默认Visual Studio模板,其中登录是独立页面的本地帐户。它使用引导程序。理想情况下,我想尽可能地贴近这一点。
登录后的动作是这样的:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginFormViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
// This doesn't count login failures towards account lockout
// To enable password failures to trigger account lockout, set lockoutOnFailure: true
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
_logger.LogInformation(1, "User logged in.");
return RedirectToLocal(returnUrl);
}
if (result.IsLockedOut)
{
_logger.LogWarning(2, "User account locked out.");
return View("Lockout");
}
else
{
ModelState.AddModelError(string.Empty, "Invalid login attempt.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
而javascript? – Liero
我的JS很复杂,但是我添加了精简版的JS和查看 – Ross
@Liero - “[***你不受理?!! ***](http://knowyourmeme.com/memes/ )“对不起,呃,我的意思是,”任何在这里失踪的东西都会阻止它成为公认的答案?“ – ruffin