Ошибка ASP.NET Core Web API CORS в Firefox, но в Chrome все в порядке - PullRequest
1 голос
/ 01 июня 2019

У меня есть React и ASP.NET Core 2.2 SPA, у которых есть проблема с CORS в Firefox, но в Chrome и Edge все в порядке.Я создал небольшую тестовую установку, которая состоит из шаблона веб-API ASP.NET Core 2.2 с включенным CORS и приложения Create React, которое использует fetch для вызова веб-API.

Вот ASP.NETCore Startup.cs с включенным CORS:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
    services.AddCors(o => o.AddPolicy("CorsPolicy", builder =>
    {
        builder.AllowAnyMethod().AllowAnyHeader().AllowCredentials().WithOrigins("http://localhost:3000");
    }));
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseCors("CorsPolicy");
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseMvc();
}

Вот страница React, которая запрашивает данные:

const App: React.FC = () => {
  const [data, setData] = useState("loading ...")  
  useEffect(()=>{
    fetch("https://localhost:44335/api/values").then(res=>res.json()).then(body=>{
      setData(JSON.stringify(body));
    })
  },[]);
  return <p>{data}</p>
}

Это отлично работает в Chrome и Edge, но я получаю следующую ошибку в Firefox:

enter image description here

Правильно ли я включаю CORS?или я что-то упускаю?Любая помощь приветствуется.

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