gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:09:32 25 4
gpt4 key购买 nike

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

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

Request header field Access-Control-Allow-Headers is not allowed by Access-Control-Allow-Headers in preflight response

我以为我可以做到这一点:

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")
})

还是没有运气。

最佳答案

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

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

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

关于express - 预检响应中不允许请求 header 字段 Access-Control-Allow-Headers 本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com