预检响应中不允许请求标头字段 Access-Control-Allow-Headers 本身

2024-01-11

我曾多次遇到 CORS 问题,通常可以修复它,但我想通过从 MEAN 堆栈范例中看到这一点来真正理解它。

在我简单地在我的 Express 服务器中添加中间件来捕获这些东西之前,但看起来有某种预钩子导致我的请求出错。

预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Headers

我以为我可以这样做:

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Headers","*")
})

或等效的,但这似乎并不能解决问题。我当然也尝试过

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Headers","Access-Control-Allow-Headers")
})

还是没有运气。


当您开始使用自定义请求标头时,您将获得 CORS 预检。这是一个使用 HTTP 的请求OPTIONS动词并包含几个标题,其中之一是Access-Control-Request-Headers列出客户端想要包含在请求中的标头。

您需要使用适当的 CORS 标头回复 CORS 预检才能完成此操作。其中之一确实是Access-Control-Allow-Headers。该标头需要包含与Access-Control-Request-Headers包含(或更多)的标头。

https://fetch.spec.whatwg.org/#http-cors-protocol https://fetch.spec.whatwg.org/#http-cors-protocol更详细地解释了此设置。

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

预检响应中不允许请求标头字段 Access-Control-Allow-Headers 本身 的相关文章

  • EJS.JS ReferenceError:标题未定义

    我遇到了 Express 脚本的问题 我正在调用一个在另一个函数成功时呈现视图的函数 在这个项目中 我使用 Angular Node Express 和 ejs 作为视图引擎 当我渲染视图时 不幸的是我收到以下 ejs 错误 Referen
  • 将缓冲区数据转换为图像

    我如何将此缓冲区数据转换为图像 以便当循环结果并将其呈现在 img src 中时 它将呈现为用户可以看到的图像 我正在使用 ejs 来渲染它 span img class user with avatar src gt span 当我 co
  • 将信用卡号直接发送到 Stripe API 通常是不安全的。我们建议您使用映射到您正在使用的测试卡的测试令牌

    为什么我在新创建的 Stripe 账户上使用测试卡号 4242424242424242 时会遇到错误 即使我已经添加了所需的卡号Secret key到我的 Node Express 路线 我也用类似的卡号进行了测试docs https st
  • Passport + Express + Typescript req.user.email 未定义

    嗯 我有一个类似的问题this one https stackoverflow com questions 16434893 node express passport req user undefined 我知道这与另一个类似 但req
  • CORS 到底如何提高安全性[重复]

    这个问题在这里已经有答案了 我确切地知道 CORS 是如何工作的 我知道它是在浏览器上实现的 并且我知道它禁止向其他来源发送 XMLHTTPRequest 除非远程来源允许它使用响应标头 Access Control Allow Origi
  • 注册具有依赖关系的模块

    我正在使用 MEAN JS 构建一个应用程序 并且尝试使用另一个模块中的控制器 我发现我可以通过依赖注入来做到这一点 angular module MyModule Dependency 但 MEAN JS 中创建模块的方式是 Applic
  • 如何停止中间件链?

    如果出现错误 如何正确结束中间件链 在我的代码中我有 if someProblem res status statuscode json message oops return 然而之后链中的中间件不断被调用 给我Can t set hea
  • 是否可以为 NodeJS 应用程序设置基本 URL?

    我希望能够在同一域下托管多个 NodeJS 应用程序 而不使用子域 例如 google com reader 而不是 images google com 问题是我总是输入网址的第一部分 例如Express NodeJS 中的 reader
  • 具有匹配模式的 ioredis 密钥

    我想用键匹配模式 LOGIN 搜索 Redis 数据库 我在我的应用程序中使用 ioredis 昨天我搜索了整个网络 我得到了一些执行这项工作的选项 如下所示 KEYS 扫描流 Issue import Redis from ioredis
  • 如何在控制台上打印来自post请求的数据

    我正在尝试在控制台上打印发布数据 app js var express require express http require http var app express app set port process env PORT 7002
  • 未加载测试环境的节点 dotenv 文件

    我有两个 dotenv 文件 一个用于开发 另一个用于测试 const dotenv require dotenv if process env process env NODE ENV dotenv config path env pro
  • Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Headers

    我试图通过发布请求将文件发送到我的服务器 但是当它发送时会导致错误 Access Control Allow Headers 不允许请求标头字段 Content Type 所以我用谷歌搜索了错误并添加了标题 http post rootSc
  • express 或express-generator:我需要两者吗?

    只是探索 Node js 并遇到了 Express 在 npm 存储库站点上https www npmjs com package express https www npmjs com package express它明确指出安装是 np
  • ExpressJS - DELETE 请求后 res.redirect

    我一直在寻找如何执行此操作 我正在尝试在发出删除请求后重定向 这是我正在使用的代码没有重定向 exports remove function req res var postId req params id Post remove id p
  • 当请求新页面时,如何将 AngularJS 路由与 Express (Node.js) 结合使用?

    我正在使用 Express 它从静态目录加载 AngularJS 一般情况下我会要求http localhost 其中 Express 为我服务index html以及所有正确的 Angular 文件等 在我的 Angular 应用程序中
  • Access-Control-Allow-Origin值跨站缓存

    我正在尝试编写一个 nginx 配置来处理 http 和 https 上的两个站点 只要客户端从不访问这两个站点 它似乎就可以工作 但如果它们这样做 就会出现缓存 跨站点问题 Allow cross origin location eot
  • NodeJS Express Windows 最大连接数设置

    在哪里设置nodejs的最大连接数 用于使用express get 在 Windows 10 中 与linux中的最大文件 描述符 设置有关吗 有该设置的 Windows 版本吗 最好是在nodejs中进行设置 以便在迁移到unix时兼容
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no
  • 我应该在 Promise.all 中使用 wait 吗?

    我正在构建快速中间件 以对数据库进行两次异步调用 以检查用户名或电子邮件是否已在使用中 这些函数返回的承诺没有捕获 因为我想将数据库逻辑与 req res next 逻辑分开 并且我有集中的错误处理 需要next作为一个论点 在我对本地环境
  • NodeJS:如何获取服务器的端口?

    您经常会看到 Node 的示例 hello world 代码 它创建一个 Http Server 开始侦听端口 然后执行以下操作 console log Server is listening on port 8000 但理想情况下你会想要

随机推荐