我和我的朋友正在使用 React 和 C# 开发一个大学项目(与预订相关的 Web 应用程序)。 基本上,他制作了一个 API,用户必须输入数据,提交后,他们的数据应该成功发送到数据库。就我而言,提交数据后我收到错误 401,尽管我检查了 JWT 令牌,它与登录后收到的错误相同。我使用 Postman 尝试了这一点,它成功了。我很好奇为什么它不能在我的浏览器上使用下面提交的代码。 感谢所有可以提供帮助的人。如果有人觉得这个问题很愚蠢,我很抱歉,但我对网络开发还比较陌生,我不知道如何解决这个问题。
const handleSubmit = () => {
const data = {
userEmail: Cookies.get('email'),
userPhoneNumber: phone,
town: city,
country: country,
street: street,
houseNumber: houseNumber,
postalCode: postalCode,
businessName: jobName,
businessIdentificationNumber: 0,
businessType: 0,
businessActivities: [
{
nameOfActivity: "string",
descriptionOfActivity: "string",
price: 0
}
],
workingDays: Object.values(workingDays),
startingHours: Object.values(workingHours).map(hours => hours.open),
endingHours: Object.values(workingHours).map(hours => hours.close)
};
fetch('http://localhost:8000/api/business/register', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + jwt
},
body: JSON.stringify(data),
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then(data => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
};
可能是 CORS 错误。当您的后端未配置 CORS 时,401 响应代码由 Access-Control-Allow-Origin 标头发送。验证您的 API 是否配置了 CORS(通常配置很简单)。