需要示例代码来调用API

时间:2018-05-02 10:26:10

标签: javascript api

实际上,我们编写了javascript代码来调用API(用DOTNET编写)。但是当我们运行代码时出现以下错误:  "无法加载https://api.yourmembership.com/:对预检请求的响应未通过访问控制检查:否' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://cgxdev.com'因此不允许访问。"    我们已与API支持小组联系,以便我们调用API。但到目前为止我们无法获得访问权限。    有没有办法在没有访问权限的情况下调用API?

以下是我们编写的javascript代码:

// Create a request variable and assign a new XMLHttpRequest object to it.
var request = new XMLHttpRequest();

// Open a new connection, using the GET request on the URL endpoint
request.open('GET', 'https://api.yourmembership.com?apikey=', true);

request.setRequestHeader('Access-Control-Allow-Origin', 'http://cgxdev.com');

request.withCredentials = true;

request.onload = function () {
    console.log(request.responseText);
};

request.send();
console.log(request.status);
console.log(request.statusText);

1 个答案:

答案 0 :(得分:0)

好的,我会尝试回答,尽管我不知道您是自己编写此API还是使用第三方API。

我认为你的JS代码不是问题。您需要在API配置中启用CORS

我不是.NET开发人员,但您的问题与我从头开始构建RoR API时遇到的问题非常相似。在我的后端启用CORS请求并允许所有原点解决了我的问题。但是,如果您只有少量客户端用于该API,则应该只能使用这些域。对于.NET,Here is some documention that could be helpful。 特别this part,它们向您展示如何配置允许的域。

PS:再次,请记住,我从不在.NET中编码 如果没有误解这个答案那么你的代码行:

request.setRequestHeader('Access-Control-Allow-Origin', 'http://cgxdev.com');

是多余的(您可以将其删除)。