Доступ к XMLHttpRequest по адресу http://localhost. .. из источника был заблокирован политикой CORS: - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть основное приложение .net, в котором REST API используется угловым клиентом, но сталкивается с проблемой CORS.

В ядре .net у меня уже есть

app.UseCors(); 

в методе configure, а также установил заголовки ответа на

Access-Control-Allow-Headers *
Access-Control-Allow-Methods *
Access-Control-Allow-Origin *

но все равно получаю ошибку на клиенте (работает на порту 4200 локально):

Доступ к XMLHttpRequest по адресу http://localhost/myAPI/api/Table' от источника 'http://localhost:4200' заблокирован политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: не имеет статуса HTTP ok.

Ответы [ 3 ]

0 голосов
/ 13 ноября 2018

Что я сделал, так это добавил cors к методу configure services:

    services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy", builder =>
                {
                    builder.AllowAnyHeader()
                    .AllowAnyMethod()
                    .AllowCredentials();
                });
            });

, а затем в методе настройки

 app.UseCors("CorsPolicy");
0 голосов
/ 21 января 2019

если вы используете веб API, вы можете использовать этот код:

public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context)
{
    context.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
    return base.TokenEndpointResponse(context);
}
0 голосов
/ 12 ноября 2018

Пропуск для предварительных запросов:

if (context.Request.Method == "OPTIONS")
    {
     return;
    }

Также прочитайте это: Включите запросы между источниками (CORS) в ASP.NET Core

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...