0

我讨厌成为提出另一个 CORS 问题的人,但老实说,我很难过。Chrome 告诉我缺少 Access-Control-Allow-Origin 标头,但我可以在 OPTION 请求的响应标头中看到它。奇怪的是,在其他几个页面上,我还有其他 CORS 请求,它们具有完全相同的请求方法 (GET)、标头,并接收到相同的响应标头,它们工作得很好。我在没有查询字符串的情况下尝试了它,但也失败了。我讨厌 CORS。

顺便说一句,401 请求可以忽略,因为它只是一个令牌刷新。如果我刷新页面我没有得到 401 但 CORS 仍然失败。

损坏的 CORS

4

2 回答 2

0

好的,我发现了问题所在。实际上,Flask 视图函数中存在服务器问题,导致响应出错并返回 500。必须检查 docker 日志才能找到它。尽管 Chrome 开发工具告诉我,CORS 设置实际上没有问题。因此,如果将来有人遇到这种情况,请注意 CORS 实际上可能没问题,而 Chrome 只是将服务器错误解释为 CORS 问题。我觉得这是Chrome中的一个错误..

于 2020-09-07T23:33:35.970 回答
0

处理这个问题的最好方法是使用反向代理。设置 nginx/webpack 以反向代理您的服务器请求。你不会遇到任何 cors 问题。

反向代理示例 /api/ => localhost:5000。如果您使用 cors 扩展或库。它可能会在您的本地计算机上解决。在生产中部署此代码时,您将再次面临同样的问题。

于 2020-09-07T20:50:10.377 回答