带有反应应用程序的 POST 上的 ASP.NET CORS 异常

Posted

技术标签:

【中文标题】带有反应应用程序的 POST 上的 ASP.NET CORS 异常【英文标题】:ASP.NET CORS Exception on POST with a react app 【发布时间】:2021-07-26 19:16:20 【问题描述】:

我有一个响应应用程序调用我的服务,并从我的本地应用程序启用了 CORS。这适用于 GET 方法,但由于某种原因,它在调用 POST 方法时会引发 CORS 异常。我需要添加什么来配置 POST 吗?谢谢

在我的 startup.cs 中:

services.AddCors(options =>
            
                options.AddDefaultPolicy(
                    builder =>
                    
                        builder.WithOrigins(
                            "http://localhost:3000"
                            );
                    );
            ); 

在我的 react 应用中,调用非常基本:

  axios(
            method: "POST",
            url: `https://localhost:44340/patientsearch`,
            data:  searchModel ,
          );     

例外:

Access to XMLHttpRequest at 'https://localhost:44340/patientsearch' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

【问题讨论】:

我用谷歌搜索了你的错误并发现了这个:medium.com/@dtkatz/… 看看那个,这可能会解决你的问题。 好吧,这没有回答问题.... @MartinZ 已经尝试过建议的修复? @Funky 是的,不快乐@MartinZ 【参考方案1】:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
                    
            app.UseCors(x =>
            
                x.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().WithOrigins("https://localhost:5002");
            );           
        

【讨论】:

以上是关于带有反应应用程序的 POST 上的 ASP.NET CORS 异常的主要内容,如果未能解决你的问题,请参考以下文章