首页 > 解决方案 > 访问控制允许来源的 JAVASCRIPT XMLHttpRequest() 问题

问题描述

对预检请求的响应未通过访问控制检查:当请求的凭据模式为“包含”时,响应中的“Access-Control-Allow-Origin”标头的值不得为通配符“*”。因此,不允许访问源“ http://127.0.0.1:5500 ”。XMLHttpRequest 发起的请求的凭证模式由 withCredentials 属性控制。

 var xhrReq = new XMLHttpRequest();
xhrReq.withCredentials = true;
xhrReq.open("GET", "https://lootpaliveapi.snapfulfil.net/api", true, "******", "*******");
xhrReq.setRequestHeader("content-type", "application/json");
xhrReq.setRequestHeader("Access-Control-Allow-Origin", "https://lootpaliveapi.snapfulfil.net");

xhrReq.onload = function(){
    console.log("READY STATE", xhrReq.readyState);
    if(this.status == 200) {
        console.log(this.responseText);
        document.getElementById("jsonDat").innerHTML = this.responseText;
    }
}

// Send Request to Get Data
xhrReq.send();

我一直在尝试访问第三方应用程序服务器,但收到一些类似上述错误的错误。

我想通过 javascript 使用 XMLHttpRequest 而不是从服务器端实现,因为我担心不接受服务器端脚本。

标签: javascriptajaxxmlhttprequest

解决方案


您必须配置服务器端 RestFull API 以允许跨域请求。

或者

您可以尝试使用开源库来绕过 CORS 问题。这些库包括:Any Origin不管 OriginAll Originscrossorigin


推荐阅读