Заголовок ‘Access-Control-Allow-Origin’ отсутствует в запросе Post запрошенного ресурса

#asp.net-core #cors

#asp.net-core #cors

Вопрос:

Я знаю, что этот вопрос задавался много раз, но решения, доступные в Интернете, не работают для меня. Я пытаюсь сделать post-запрос из Angular следующим образом

 ApiResponse(formVal,url){
 
  return this._Service.AddUser(this.url,formInput)
   .toPromise().then(res=>{
     return res;
   })
}
  

Но я получаю эту ошибку доступа к XMLHttpRequest по адресу ‘http://localhost:61382/api » из источника «http://localhost:4200 ‘ был заблокирован политикой CORS: на запрошенном ресурсе отсутствует заголовок ‘Access-Control-Allow-Origin’.даже у меня есть corsPolicy в Asp.Net и это происходит только для запроса post.

 public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(opt =>
            {
                opt.AddPolicy("CorsPolicy",
                    c => c.AllowAnyOrigin()
                    .AllowAnyHeader()
                    .AllowCredentials()
                    .AllowAnyMethod());
            });
            services.AddMvc();

}

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

            app.UseMvc(routes => routes.MapRoute(
                "default", "api/{controller}/{action}/{id?}"
                ));
        }
    }
  

Можете ли вы мне помочь?Спасибо!

Комментарии:

1. Можете ли вы показать заголовки вашего контроллера и вашего действия?

Ответ №1:

Попробуйте переместить app.UseCors («CorsPolicy») за пределы if (env.IsDevelopment ());

и измените свои сервисы.Добавьте исправления в синтаксис anotner:

 services.AddCors(opt =>  opt.AddPolicy("CorsPolicy", c =>
            { 
                c.AllowAnyOrigin()
                   .AllowAnyHeader()
                    .AllowCredentials()
                    .AllowAnyMethod();
            }));
  

Комментарии:

1. Спасибо, это была проблема