Все. У меня есть модальное окно и метод для входа в систему, то есть нет отдельного представления для страницы входа. Ошибка непосредственно в модальном окне без перенаправления. < /p>
Я решил эту проблему, используя < /p>
return Json
< /code>
Но тогда я обнаружил, что это не очень хороший вариант, и следует использовать перенаправление. < /p>
Но где мне следует использовать перенаправление, если есть Без страницы входа в систему?
сейчас работает. < /p>
[HttpPost("login")]
public IActionResult Login([FromForm] User user)
{
if (user.Login is not _login || user.Password is not _password)
return Json(new { success = false, message = "Invalid login or password" });
var claims = new List { new(ClaimTypes.Name, user.Login) };
var claimsIdentity = new ClaimsIdentity(claims, "CookieAuth");
var claimsPrincipal = new ClaimsPrincipal(claimsIdentity);
HttpContext.SignInAsync("CookieAuth", claimsPrincipal).Wait();
return Json(new { success = true, redirectUrl = "/" });
}
< /code>
Disk
Login
< /code>
js
$(document).ready(function() {
$('#loginModal').on('shown.bs.modal', function () {
$('#loginError').hide();
});
$("#loginForm").on("submit", function(e) {
e.preventDefault();
var form = $(this);
$.ajax({
url: '/login',
type: 'POST',
data: form.serialize(),
success: function(response) {
if(response.success) {
window.location.href = response.redirectUrl;
} else {
$('#loginError').show().text(response.message);
}
},
error: function() {
$('#loginError').show().text('There was an error, try again.');
}
});
});
< /code>
I'm trying to display an error message in a modal window
Подробнее здесь: https://stackoverflow.com/questions/793 ... redirectin