来自darksky.net的访问控制 - 允许来源错误请求数据
问题描述:
我试图使用their api从“darksky.net”获取信息。来自darksky.net的访问控制 - 允许来源错误请求数据
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
xhr.onload = function() {
if (this.status >= 200 && this.status < 300) {
resolve(xhr.response);
} else {
reject({
status: this.status,
statusText: xhr.statusText
});
}
};
请回答只有在纯JavaScript。
答
从darksky FAQ开始,您应该为API调用设置代理服务器。
对不起关于pure javascript。这是不可能的。
为什么我得到的错误不“访问控制允许来源”标头 现在,当我试图调用API所请求的资源?
我们非常重视在黑暗天空的安全。作为安全预防措施,我们在服务器上禁用了禁用的跨源资源共享(CORS)。
您的API调用包含您的秘密API密钥作为请求的一部分。如果 您将从面向客户端的代码进行API调用,则任何人都可以提取并使用您的API密钥,这会导致您要支付的帐单数量为 。我们禁用CORS来帮助保持您的API秘密密钥 的秘密。
为了防止API密钥滥用,您应该设置一个代理服务器,以便在后台对我们的API进行 调用。然后,您可以在不暴露您的API密钥的情况下为您的客户提供 的预测。
答
问题出在后端。您需要针对Cors的网页API调整