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

2023-12-26

我已经在.net核心应用程序中实施了Cors策略: 在Startup.cs under ConfigureServices我添加了以下 cors 策略

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

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


第一个是预检请求 https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request。主要目标是确定实际请求是否可以安全发送。跨站点请求会进行预检,因为它们可能会对用户数据产生影响。

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

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

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

This HTTP 访问控制 (CORS) https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS描述如果为真则请求被预检的条件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 Post 请求的两次调用:使用 http 204 和 200 的相关文章

随机推荐

  • 在 PHPUnit (CIUnit) 中使用 YAML 文件作为数据提供者

    我正在使用 PHP CodeIgniter 框架编写一个应用程序 我正在尝试使用 CI Unit 扩展名为 PHPUnit 来测试应用程序 为了测试模型 我尝试加载 PHPUnit 文档中定义的 YAML 数据提供程序 但收到错误 如果我伪
  • Android Studio 不显示按钮的属性

    我在 Android Studio 中打开了一个空白的 Android 应用程序 当我尝试编辑按钮时 属性不存在 我是 Android 开发新手 正在遵循显示如何更改按钮中的文本的指南 但属性菜单缺少指南中看到的选项 Using 安卓工作室
  • API网关集成中使用代理集成有什么用?

    我正在尝试在 API Gateway API 和 VPC 背后的资源之间进行集成 创建集成时 有一个选项可供选择 使用代理集成 即使我没有选中此复选框并部署 API 我也可以通过 NLB 使 API 网关连接到 VPC 中的目标资源 所以
  • 在 php 中执行条件时出现问题[已关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 press GET sell echo press OUTPUT IS SELL if press SELL header Loc
  • Android 共享首选项在删除文件后仍然可见

    我正在尝试使用共享首选项的应用程序 当我从中删除首选项文件时数据 data com your package name shared prefs mySharedPref xml手动使用 Android 监视器 应用程序仍然能够读取首选项值
  • DataGridView 级联/相关组合框列

    因此 我时常在 Winforms 的遗留应用程序中工作 并不总是熟悉绑定对象的最佳实践 基本上我有一个三部分集 其中有两个人 他们可能只有一种产品 但该产品可能会导致拥有不同的 SKU 集 有没有办法从第一个组合框的值触发组合框的事件和填充
  • Java EE 中的拦截器是什么?

    我正在尝试澄清关于 Java EE 中的拦截器的概念 我已经阅读了 Java EE 规范 但我对此有点困惑 请为我提供一些有用的链接或教程 以澄清我的概念 我们如何 何时 为何使用拦截器 拦截器用于实现业务逻辑中的横切关注点 例如日志记录
  • 从 activemq 主题获取消息时,logstash 输入速度非常慢

    我已经在logstash中配置了JMS输入来订阅JMS主题消息并将消息推送到弹性搜索 input jms id gt my first jms yaml file gt D softwares logstash 6 4 0 config j
  • 访问派生类中的受保护成员

    我昨天遇到了一个错误 虽然很容易解决 但我想确保我正确理解了 C 我有一个带有受保护成员的基类 class Base protected int b public void DoSomething const Base that b tha
  • 如果我从不将 MutexGuard 分配给变量,那么它在哪里?

    我不明白 哪里 MutexGuard在内部代码块中是 互斥锁被锁定并展开 产生MutexGuard 不知何故 这段代码设法取消引用MutexGuard然后可变地借用该对象 哪里去了MutexGuard去 另外 令人困惑的是 这种取消引用不能
  • usockets:打开套接字时如何指定外部格式

    我正在尝试连接到 mud 客户端 因此我使用 usockets 通过 tcp 连接 但是在我写完之后 我得到了解码错误读数 我有理由相信编码应该为 ascii 或者至少使用 clrf 作为行尾指示符 因为在我读到的行上 行尾之前有一个 M
  • RESTful Web 服务和 HTTP 动词

    服务器应允许将 Web 服务归类为 RESTful 的最小 HTTP 动词集是什么 如果我的主机不允许怎么办PUT and DELETE 这真的很重要吗 我能从此过上幸福的生活吗 GET and POST Update 谢谢各位的解答 罗杰
  • 从 const 成员函数返回非常量引用

    为什么返回对指向的成员变量的引用有效 而另一个则无效 我知道一个const成员函数应该只返回const引用 但是为什么对于指针来说这似乎不正确呢 class MyClass private int a int b public MyClas
  • java.io.IOException:错误= 11

    我在使用 Java 时遇到了一个奇怪的问题ProcessBuilder 代码如下所示 稍微简化的形式 public class Whatever implements Runnable public void run someIdentif
  • 如何写入在 res/raw 中声明的文件中?

    我有一个文件存储在 res raw 中 我想知道如何写入该文件 我尝试了 getResources 但它返回一个 inputStream 不可能 如果您需要将资产复制到设备 请将文件存储在资产目录中 然后使用 AssetManager 流式
  • 如何通过改造发出 CURL 请求?

    我正在尝试登录 该请求看起来像这样 curl u username PASSWORD https urlhere com https urlhere com 我怎样才能使用改造使其发挥作用 我尝试了一个授权标头 例如 request add
  • 通过引用混淆赋值

    我有一个 交易 对象 其中包含对 orderBook BTCUSDT 的引用 我的目的是在 orderBook BTCUSDT 更改时更改 交易 但是 更改 orderBook BTCUSDT 不起作用 但更改 orderBook BTCU
  • 无法访问asp.net中的嵌入资源

    我正在尝试将图像和样式表从用户控件移动到程序集中的嵌入资源 我已使用 Reflector 来查看图像和 css 文件是否嵌入到程序集中 但是当我尝试使用 ClientScript GetWebResourceUrl 创建的 URL 访问它们
  • 如何在 Sequelize 的“BelongsTo”关联中设置外键的默认值或选项?

    我在续集方面遇到了一个看似常见的问题 对于上下文我试图分配一个默认值role每一个user即被创建 基本上每个user的角色应该设置为default user当他们第一次注册时 我希望能够像使用普通字段一样在模型文件中简单地定义此默认值 但
  • 对 Post 请求的两次调用:使用 http 204 和 200

    我已经在 net核心应用程序中实施了Cors策略 在Startup cs under ConfigureServices我添加了以下 cors 策略 services AddCors options gt options AddPolicy