【发布时间】:2019-10-04 16:07:10
【问题描述】:
我正在使用 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' CORS 策略已阻止来自原点“null”:响应 预检请求未通过访问控制检查:否 请求中存在“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 了解更多 详情。
【问题讨论】:
-
在 Firefox 中使用这个调试 addons.mozilla.org/en-US/firefox/addon/cors-everywhere 最近在 chrome 中更新了它的安全扩展不再起作用
-
你昨天已经问过这个问题了:stackoverflow.com/questions/56165837/…
-
"如何连接那个 API?我需要一些 API-KEY 或类似的东西?" – 除非他们允许您发出请求,否则您不能发送 API 密钥。所以没有(或者至少现在还没有)。
标签: javascript api cors xmlhttprequest blocked