我曾多次遇到 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(使用前将#替换为@)