我正在使用此代码对Insightly API进行API调用:
var x = new XMLHttpRequest();
x.open("GET", "https://api.insight.ly/v2.2/Projects/Search?status=in%20progress&brief=false&count_total=false", true);
x.setRequestHeader('Authorization', 'Basic: 'some-basic-key-and-user');
x.send();
console.log(x.status);
但响应代码输出等于0
我已经使用hurl.it的工具尝试了我的网址和AuthKey,它完全回复了我需要的响应。我还尝试了x.statusText
和x.Response
为什么我的脚本不能提供我需要的输出?
修改
尝试从Mozilla的文档中添加这些参数后(谢谢Amy)。我仍然没有得到正确的响应代码。
我的代码现在:
var x = new XMLHttpRequest();
x.open("GET", "https://api.insight.ly/v2.2/Projects/Search?status=in%20progress&brief=false&count_total=false", true);
x.setRequestHeader('Authorization', 'Basic: b4c6c660-e20f-4f31-b90d-b6a11bfe4ef2');
x.onprogress = function () {
console.log('LOADING', x.status);
};
x.onload = function () {
console.log('DONE', x.status);
};
x.send();
console.log(x.status);
回复代码:
0
LOADING 0
此外,我已经阅读了可能的答案,我仍然不知道如何解决我的错误,我知道为什么它是异步的,为什么它不能这样工作,但我不知道如何固定。
答案 0 :(得分:1)
首先,你在第3行(在某个基本键和用户之后)有不必要的引号。 第二,洞察力api不支持跨源资源共享(简称CORS)。 您可能希望在查询数据的同一域中引入一些代理。