Код: Выделить всё
fetch("https://localhost:44500/api/test", {
method: 'POST',
headers: {
"Authorization": `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
param1: 'first sample value',
param2: 'second sample value'
})
}).then(response => {
if (!response.ok) {
throw new Error(`Request failed with status ${response.status}`);
}
return response.json();
}).then(result => {
console.log('Request succeeded!');
}).catch(error => {
console.error('Failed to send the request.', error);
});
< /code>
На стороне сервера я зарегистрировал следующий маршрут: < /p>
app.MapPost("api/test", HandleAsync)
.DisableAntiforgery()
.RequireCors("AllowAll")
.RequireAuthorization(new AuthorizeAttribute { AuthenticationSchemes = "Api" });
< /code>
Кроме того, моя конфигурация Cors заключается в следующем: < /p>
services.AddCors(options =>
{
options.AddPolicy("AllowAll", builder =>
{
builder
.AllowAnyMethod()
.AllowAnyOrigin()
.AllowAnyHeader();
});
});
i Подтверждено, что URL -адрес, используемый в запросе JavaScript, идентичен тому, что в почтальстве (что должно иметь место, так как запрос работает в Firefox). следующим образом: < /p>
Код: Выделить всё
app.MapMethods("api/test", ["OPTIONS", "POST"], HandleAsync)
.DisableAntiforgery()
.RequireCors("AllowAll")
.RequireAuthorization(new AuthorizeAttribute { AuthenticationSchemes = "Api" });
Подробнее здесь: https://stackoverflow.com/questions/794 ... ight-stage