如何在 CORS 预检选项请求中发送自定义标头?

2023-12-14

我正在尝试发送 JSON 负载的 CORS 请求。我控制服务器和客户端。

我在这里跟随:

服务器有一个自定义标头,必须与每个请求一起发送。因此,此自定义标头使请求“不简单”,因此必须使用 OPTIONS 请求对请求进行预检。

我可以看到 jQuery 发出 OPTIONS 请求,但它不会发送自定义标头。

我尝试过的方法:

  • 使用 beforeSend 选项:http://api.jquery.com/jQuery.ajax/
  • 使用 AJAX 预过滤器:http://api.jquery.com/jQuery.ajaxPrefilter/

在这两种情况下,浏览器都不会发送自定义标头。

我正在使用 FF 17.0.1,jQuery 1.8.3。


你的问题不在于jquery,而在于CORS 的工作原理。您的 beforeSend 回调可能按预期工作...但无论如何,浏览器都不会在预检请求中发送自定义标头。这是设计使然;预检请求的目的是确定除了 CORS 规范中定义的“简单”内容之外,允许用户代理(浏览器)发送哪些信息。因此,对于用户代理来说,将任何非简单数据(例如您的自定义标头)作为预检请求的一部分发送是弄巧成拙的。

要指示用户代理将您的自定义标头包含在实际的 CORS 请求中,请包含Access-Control-Allow-Headers header在您的飞行前响应中。值得注意的是,如果您不太关心 useragent 传输的标头,我相信您可以只回显Access-Control-Request-Headers请求头字段的值作为Access-Control-Allow-Headers您发送回复。

您可能还想包括其他一些Access-Control-Allow-*中定义的标头规范的语法部分.

也可以看看CORS - 如何“预检”http请求?

也可以看看Mozilla 的 CORS 预检示例,它显示了这些标头的实际作用。

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

如何在 CORS 预检选项请求中发送自定义标头? 的相关文章

随机推荐

  • 如何将模型或字符串传递给 angularjs 中的指令?

    我正在研究一个指令 其中参数之一可以是模型 动态值 有时也可以是字符串 我能做到这一点的唯一方法是使用 有一个更好的方法吗
  • 搜索 HTML 表 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我已经用 HTML 创建了
  • 之前触发 onchange 时未触发 onclick 事件

    我这里有一个有趣的问题 我有一个文本区域 其中链接了一个 onchange 事件 然后我有一个链接到 onclick 事件的按钮 当在文本区域上触发 onchange 事件时 将处理放入文本区域的文本 当我单击文本区域之外的内容时 通常会发
  • 使用 pyodbc 和 mysql8 的参数化查询对于 int 数据类型的列返回 0

    蟒蛇 2 7 12 pyodbc 4 0 24 操作系统 Ubuntu 16 4 数据库 MySQL 8 驱动程序 MySQL 8 预期行为 结果集应在数据类型为 int 的列中包含数字 实际行为 所有 int 数据类型的列都有 0 如果使
  • 带有 ListBox 的 WPF ListBox - UI 虚拟化和滚动

    我的原型显示包含 页面 的 文档 由缩略图表示 每个文档可以有 任意数量的页面 例如 可能有 1000 个文档 每个文档 5 页 或 5 个文档 每个文档 1000 页 每个 或介于两者之间 文档不包含其他文档 在我的 xaml 标记中我有
  • 当我的整个应用程序锁定在纵向模式时,以横向模式全屏播放视频

    我想以全屏横向模式播放视频 我的应用程序锁定在纵向模式 如何实现这一点 请帮我 提前致谢 swift 3 中最简单的解决方案 将其添加到您的应用程序委托中 func application application UIApplication
  • 在 Firebase 中获取子项计数

    请问我如何简单地从 firebase 查询中获取子项计数 例如 假设我使用包含 10 个子项的数据库查询 我如何获取该值 因为我尝试使用onChildChanged 事件并从中获取价值snapshot 但效果并不好 这是因为首先它会获取数字
  • 无法连接到服务器 - 与网络相关或特定于实例的错误

    尝试连接到 SQL Server 时出现以下错误 建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误 服务器未找到或无法访问 验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接 提供程序 命名管道提供
  • 将派生类指针数组转换为基类指针数组

    考虑这样的继承层次结构 A B1 B2 C D 在C 中实现如下 class A public A virtual A 0 double a A A class B1 virtual public A public B1 virtual B
  • 如何计算 numpy 数组沿轴的平均值? [复制]

    这个问题在这里已经有答案了 我是Python新手 这是我的三维数组 my data numpy zeros index1 index2 index3 为了便于说明 假设尺寸为 index1 5 index2 4 index3 100 我想计
  • 使用 SNI 选项以编程方式在 IIS 8 上添加绑定

    我正在尝试使用 Microsoft Web Administration 库 NET Framework 创建 IIS 8 的绑定 该绑定已检查标志 SNI 服务器名称指示 这对我来说是必要的 因为我想在 IIS 下为同一个网站获取多个 S
  • Swing、Java 和多线程以及着色按钮

    是的 这是家庭作业 是的 我完全被困住了 这是要点 我创建了一个 JFrame 有 3 个面板 顶部 中间 底部 底部面板中有 3 个按钮 红色 绿色和蓝色 顶部面板中有 3 个文本字段 用于显示单击相应按钮的次数 每个按钮最多允许 10
  • 使用平衡组的正则表达式

    我有一个基本的文本模板引擎 它使用如下语法 foo bar IF MY VAR some text IF OTHER VAR some other text ENDIF ENDIF bar foo 我对用于解析它的正则表达式有一个问题 它没
  • Javascript:比较运算符中操作数的顺序[重复]

    这个问题在这里已经有答案了 我看到很多人写作有什么具体原因吗 if 1 a 代替 if a 1 我已经给出了一个答案 其中我写了类似的内容Array obj constructor当有人问我他经常看到人们这样写而不是这样写obj const
  • 使用 etree 从文件中解析 xml 在读取字符串时有效,但在读取文件时则无效

    我对 Python 和 SO 来说是一个相对新手 我有一个 xml 文件 需要从中提取信息 我已经为此苦苦挣扎了好几天 但我想我终于找到了可以正确提取信息的东西 现在我在获得正确的输出时遇到了麻烦 这是我的代码 from xml impor
  • Firebase 函数先解析请求正文,然后才能在 Express 中处理它

    我正在尝试处理 Firebase 函数中的无效请求 因此使用无效的 JSON 发出发布请求 目的是在 Express 中处理它 但我得到400 错误 语法错误 JSON 中位置 20 处出现意外标记 a 在它到达 Express 层之前 最
  • WCF SOAP - 从子节点中删除命名空间

    我正在构建一个服务 并且有一个客户端需要我尝试在我的肥皂服务中接收的特定格式的 xml 我遇到的问题是 当我需要仅在根节点上时 命名空间前缀应用于子节点 下面是在soapui中为请求生成的soap信封
  • 这些 Git 合并标记的简单解释是什么?

    下面参考代码段1 2 3解释Git合并标记的含义 Code from beginning of file lt lt lt lt lt lt lt HEAD code segment 1 merged common ancestors co
  • 为什么linux内核中的udelay和ndelay不准确?

    我做了一个这样的函数 trace printk 111111 udelay 4000 trace printk 222222 日志显示它是 4 01 毫秒 没问题 但当我这样打电话时 trace printk 111111 ndelay 1
  • 如何在 CORS 预检选项请求中发送自定义标头?

    我正在尝试发送 JSON 负载的 CORS 请求 我控制服务器和客户端 我在这里跟随 服务器有一个自定义标头 必须与每个请求一起发送 因此 此自定义标头使请求 不简单 因此必须使用 OPTIONS 请求对请求进行预检 我可以看到 jQuer