REST API调用给出响应代码0

时间:2018-01-04 15:03:04

标签: javascript rest api

我正在使用此代码对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.statusTextx.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

此外,我已经阅读了可能的答案,我仍然不知道如何解决我的错误,我知道为什么它是异步的,为什么它不能这样工作,但我不知道如何固定。

1 个答案:

答案 0 :(得分:1)

首先,你在第3行(在某个基本键和用户之后)有不必要的引号。 第二,洞察力api不支持跨源资源共享(简称CORS)。 您可能希望在查询数据的同一域中引入一些代理。