Я сталкиваюсь с этой проблемой:
Доступ к XMLHttpRequest по адресу http://localhost: 5000 / api / surpactemp / 'origin' http://localhost: 4200 'было заблокировано политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: Перенаправление не разрешено для запроса предварительной проверки.
На стороне сервера я пробовал этот способ и не сработало:
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod()
Я пробовал несколько способов решить проблему, используя справку Microsoft (ниже), но пока безуспешно. Кроме того, я уже пытался не передавать объект заголовков на Angular, затем я получаю сообщение об ошибке:
Нет заголовка 'Access-Control-Allow-Origin' на запрошенном
Среда :
- Do tnet Core 3.1
- Angular 8
Backend : Startup.cs
//ConfigureServices
services.AddCors(options =>
{
options.AddPolicy(name: "CorsPolicy",
builder => builder.WithOrigins("http://localhost:4200")
.WithHeaders(HeaderNames.ContentType, "application/json")
.WithMethods("PUT", "DELETE", "GET", "OPTIONS", "POST")
);
});
//Configure
app.UseHttpsRedirection();
app.UseRouting();
app.UseCors("CorsPolicy");
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
Frontend : form-service.ts
httpOptions = {
headers: new HttpHeaders({
// 'Content-Type': 'application/json',
// 'withCredentials': 'false',
// 'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json'
})
};
return this.httpClient.post('http://localhost:5000/api/surpactemp/', JSON.stringify(data.path), this.httpOptions);
Ссылка: https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.1#preflight -запросы