我正在将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的数据作为响应{“ DuplicateUserName”:[“用户名'blabla'已被使用。”]}时,我得到TypeError:handleFetch(...)是在我的控制台中未定义。我不太确定该怎么办。
我已经在catch语句中设置了断点,并注意到我的代码从未到达过断点。