由于CORS

时间:2018-09-17 16:06:40

标签: cors single-page-application microsoft-edge

example.com上的我的SPA应用程序向example.com/api发出请求。 AFAIK这应该不需要任何access-control-allow-origin标头,因为源和目标是相同的。

但是我遇到以下错误;

  

SEC7120:[CORS]找不到源“ https://example.com”   Access-Control-Allow-Origin响应中的“ https://example.com”   跨域资源的标头位于   'https://example.com/iam/blablablabla'

此应用程序可在Chrome或Firefox上完美运行。它仅在Edge上失败。我在这里缺少什么吗?您能告诉我一些指导来理解我遇到的问题吗?

P.S;我继续前进,并在服务器上将域添加为允许的CORS来源。也不行。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并且经历了寻找修复程序的艰苦过程。

这与Edge在版本42.17434中的提取实现中的错误有关。此问题已在版本44.17763(2018年11月及以后)中修复。单击右上角的省略号,单击“设置”,然后滚动到底部,即可找到Edge版本。

此问题的核心在于,尽管大多数浏览器实现在忽略凭据选项时都发送默认选项credentials: 'same-origin',但Edge不会。您可以通过在请求中添加凭据same-origin选项来为旧的Edge版本修复此问题:

fetch(url, { credentials: 'same-origin' });

相关边缘发行票据: