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