当我的xmlhttprequest被CORS阻止时,如何连接api

时间:2019-05-17 10:24:01

标签: javascript api cors xmlhttprequest blocked

我正在使用XMLHttpRequest()与API连接,并且在控制台中,我有关于被CORS策略阻止的错误。我的网址使用https。如何与该API连接?我需要一些API-KEY或类似的东西吗?

我安装了chrome的Allow-Control-Allow-Origin扩展程序。没有帮助

示例:

  function UserAction() {
    var xmlhttp = new XMLHttpRequest();
 // xmlhttp.setRequestHeader('Accept', 'application/json');
    xmlhttp.withCredentials = true;
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
            var myObj = JSON.parse(this.responseText);
            document.getElementById("demo").innerHTML = myObj.high;
        }
    };
    xmlhttp.open("GET", "https://sinsmbe1.insepa.net:20106/m3api-rest/execute/CRS610MI/LstByNumber;maxrecs=100;returncols=CUNO,STAT?CUNO=10000", true);
    xmlhttp.send();
  }

我从控制台获得3条信息。

警告:

  

用于从中加载资源的连接   https://sinsmbe1.insepa.net:20106使用了TLS 1.0或TLS 1.1,它们分别是   不推荐使用,以后将被禁用。一旦禁用,用户   将被阻止加载这些资源。服务器应该   启用TLS 1.2或更高版本。看到   https://www.chromestatus.com/feature/5654791610957824了解更多   信息。

错误:

  

在以下位置访问XMLHttpRequest   'https://sinsmbe1.insepa.net:20106/m3api-rest/execute/CRS610MI/LstByNumber;maxrecs=100;returncols=CUNO,STAT?CUNO=10000'   来自来源“ null”的邮件已被CORS政策阻止:对   预检请求未通过访问控制检查:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。

警告:

  

跨源读取阻止(CORB)阻止了跨源响应   https://sinsmbe1.insepa.net:20106/m3api-rest/execute/CRS610MI/LstByNumber;maxrecs=100;returncols=CUNO,STAT?CUNO=10000   MIME类型为application / vnd.sun.wadl + xml。看到   https://www.chromestatus.com/feature/5629709824032768了解更多   详细信息。

1 个答案:

答案 0 :(得分:0)

您必须在api的开头添加以下标头:

res.header("Access-Control-Allow-Origin","*");
 res.header("Access-Control-Allow-Headers","Origin,X-Requested-With,Content-Type,Accept");