为什么CORS报告我的HTTP状态不正常?



我使用https://add0n.com/access-control.html是为了绕过CORS策略的扩展,但是,我收到这个错误:

Access to XMLHttpRequest at 'https://myexampleapi.com/' from origin 'https://www.somedomain.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

这是我用来访问API的代码:

var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", 'https://api.example.com/test/getstats?userId=76561399568194663', true);
xmlHttp.setRequestHeader("ApiKey", "13cf02fb-fake-442f-f7cc-9ee44g48748b");
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState === 4) {
console.log(xmlHttp.responseText)
}
}
xmlHttp.send(null);

这个错误只发生在Chrome和Firefox没有问题。我已经找了8个小时了,越来越绝望了。对解决这个问题有什么建议吗?

所以我找到了一个解决方案。我最终使用PHP设置了一个代理服务器,它使用CURL为我调用API。这样,我就需要通过一个自定义标题,阻止我绕过Chrome上的CORS。它很有魅力,但我真的不希望这样做,所以如果有人有更好的主意,请告诉我。

相关内容

最新更新