Как обрабатывать ошибки входа в систему и отобразить их в модальном окне без перенаправления?Javascript

Форум по Javascript
Ответить
Anonymous
 Как обрабатывать ошибки входа в систему и отобразить их в модальном окне без перенаправления?

Сообщение Anonymous »

Все. У меня есть модальное окно и метод для входа в систему, то есть нет отдельного представления для страницы входа. Ошибка непосредственно в модальном окне без перенаправления. < /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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»