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

Программирование на jquery
Ответить
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 BadRequest("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 RedirectToAction("Browse", "Browse");
}
< /code>






Disk







Login







< /code>
js
$("#loginForm").on("submit", async function(e) {
e.preventDefault();
debugger;

const form = $(this);
const formData = new FormData(form[0]);

try {
const response = await fetch('/login', {
method: 'POST',
body: formData,
});

console.log(response.headers.get('location'))
if (response.status === 302) {
window.location.href = response.headers.get('location');
} else {
const errorText = await response.text();
$('#loginError').show().text(errorText);
}
} catch (error) {
console.log("Fetch error:", error);
$('#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 МБ.

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