带有反应应用程序的 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 异常的主要内容,如果未能解决你的问题,请参考以下文章

表单帖子上的 asp.net mvc 编码

带有反应模板的 Asp.net 核心 Web 应用程序:在开发中,服务器首先检查 mvc 路由,但在生产中服务器仅返回 index.html

带有大型数据源的 Kendo Chart 的 Ajax 请求上的 ASP.NET MVC 应用程序?

asp net core 3 在发布后获取带有正文内容的 POST 操作的 BadRequest 响应

带有 JSON 数据的大型 POST 请求在 ASP.NET Core 4.6.1 中未反序列化

我的ASP.NET 程序点击按钮为啥没有反应?