Я отправляю HTTP-запросы на сервер и при получении проверяю статус.Если статус не 200, я хочу выбросить ответ сервера и поймать его, чтобы сделать что-то с ошибкой.
const handleRegistration = (nickname, email, password) => {
fetch("https://localhost:44317/api/Authentication/register",
{
method: "POST",
body: JSON.stringify({nickname: nickname, email: email, password: password}),
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
.then((response) => {
if (response.status === 200) {
location.href = "../login/login.html";
} else {
throw response.json();
}
})
.catch((response) => {
// Do something
});
};
Когда я регистрирую новую учетную запись, где все поля ввода действительны,программа работает отлично.Но когда я ввожу данные, которые заставляют сервер возвращать 400 POST с именем Response {"DuplicateUserName": ["Имя пользователя 'blabla' уже занято."]}, Тогда я получаю TypeError: handleFetch (...)не определено в моей консоли.Я не совсем уверен, что делать.
Я установил точки останова в операторе catch и заметил, что мой код никогда не достигает этого.