【发布时间】:2021-03-21 08:53:09
【问题描述】:
即使 react 应用程序和 api 都使用 Access-Control-Allow-Origin : * 标头以及允许的方法 'GET,PUT,POST,DELETE,OPTIONS' 和 cors 凭据提供服务,但来自 react 站点的 API 调用仍然被 CORS 阻止
这是确切的错误:
Access to XMLHttpRequest at 'https://cbiapi.dailycode.tk/parse/classes/_Installation' from origin 'https://backoffice.dailycode.tk' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
网站网址: https://backoffice.dailycode.tk/login API 网址: https://cbiapi.dailycode.tk/parse
我不明白为什么我的 api 调用仍然被阻止,我尝试了 CORS 无处不在的插件和其他类似的插件,但调用仍然被阻止
【问题讨论】:
-
请显示发送请求的实际客户端代码。某些内容类型和自定义标头需要额外的步骤来允许 CORS 请求。在发送这些请求之一时,您通常还可以通过查看浏览器中 Chrome 调试器的“网络”选项卡来了解很多信息,因为它会准确显示从服务器发送和返回的内容。例如,它会显示您的 CORS 请求是否已被归类为需要预检的请求,在这种情况下,您必须为 OPTIONS 请求实现服务器端处理程序。
-
请参阅this other answer,了解有关简单请求和预发送请求的讨论。
-
现在我在您的错误消息的详细信息中看到您的请求触发了飞行前检查,因此您可能没有该飞行前请求的服务器端处理程序。
-
看到你在没有我共享客户端代码的情况下发现了问题 :p 并不是我不想共享客户端代码,而是客户端使用 Parse Server SDK,所以请求是从我从未做过的那个库发出的任何要求我自己
标签: express nginx cors nginx-reverse-proxy