对Post请求进行两次调用:使用http 204和200

Nik*_*esh 6 cors .net-core asp.net-core

我已经实现了一个Cors政策点网核心应用:在Startup.cs下面ConfigureServices我添加了以下CORS政策

services.AddCors(options =>{
                options.AddPolicy("CorsPolicy",
                    builder => builder.AllowAnyOrigin()
                    .AllowAnyMethod()
                    .AllowAnyHeader()
                    .AllowCredentials());
            });
Run Code Online (Sandbox Code Playgroud)

在添加CORS策略后,我遇到一个奇怪的问题,在每次POST调用时,都会进行两次调用:第一次调用返回204,其他调用返回200状态代码的数据.

邮寄请求的两个电话

Set*_*Set 15

第一个是预检请求.主要目标是确定实际请求是否可以安全发送.跨站点请求具有前瞻性,因为它们可能会对用户数据产生影响.

CORS预检请求是一个CORS请求,用于检查CORS协议是否被理解.

它是一个OPTIONS使用两个HTTP请求标头的请求:Access-Control-Request-Method和Access-Control-Request-Headers以及Origin标头.

需要时,浏览器会自动发出预检请求.

HTTP访问控制(CORS)描述条件,如果为true,则请求预检.