CORS - 状态 200,但在 Chrome 开发工具控制台中出错



我对 CORS 有问题,问题是我的代码被执行(状态 200(,但我在谷歌浏览器开发者控制台中有一个错误。

我的代码:

function callUrl(url) {
    var xmlhttp = null;
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xmlhttp !== null) {
        xmlhttp.open("POST", url, true);
        xmlhttp.withCredentials = true;
        xmlhttp.send(JSON.stringify({
        }));
    } else {
        console.error("Your browser does not support XMLHTTP.");
    }
}
callUrl('https://www.website.com/tracking?etc...');

XMLHttpRequest 无法加载 https://www.website.com/tracking?。这 响应中"访问控制允许源"标头的值必须 当请求的凭据模式为 "包括"。因此不允许使用原产地"http://localhost:8888" 访问。由 XMLHttpRequest 由 withCredentials 属性控制。

服务器配置:

"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Credentials": true,

在 Firefox 中,你会得到这个错误...即使它正在工作并获得状态 200。

您可以在 https://developer.mozilla.org/en-US/docs/Web/HTTP/Server-Side_Access_Control 中阅读有关它的信息。

如果你使用 xmlhttp.withCredentials = true;你需要指定 PHP 代码中允许的特定来源。 如果任何源可以调用您的 API ...删除此属性,以便您将能够使用"访问控制-允许-原点":"*">

相关内容

  • 没有找到相关文章

最新更新