【发布时间】:2021-12-26 15:40:51
【问题描述】:
我正在尝试使用 json 占位符站点来获取 React 项目的虚拟数据。我使用 axios 包获取数据。我在 Firefox 中打开了我的应用程序,它在控制台中显示了这个错误:Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://jsonplaceholder.typicode.com/users. (Reason: CORS header ‘Access-Control-Allow-Origin’ does not match ‘https://localhost:3000’)。
根据我的理解,如果access-control-allow-credentials 是true 并且access-control-allow-origin 与我的来源(即http://localhost:3000)匹配,那么我应该能够访问响应数据,但 Firefox 阻止了它。
我不明白为什么 Firefox 会阻止响应数据,尽管 access-control-allow-origin 匹配源。我还在 Brave 浏览器中测试了这个应用程序,它运行良好。
我正在使用Firefox developer version 95.0b6 (64-bit)
【问题讨论】:
-
https://localhost:3000和http://localhost:3000是不同的来源(因为它们的方案不同)。 -
是的。这是正确的,但在响应标题中有
http://localhost:3000所以它应该允许我正确。 -
但是,CORS 错误消息表明请求是由
https://localhost:3000发出的。 -
我发现了实际问题。实际问题是由于
https everywhere扩展。它如何设法说服 Firefox 我正在使用https而我不是这样CORS阻止了响应。
标签: cors