这是我尝试向其发出请求的API的文档。 相关部分:
公共数据函数
股票
GET https://kiwi-coin.com/api/ticker/
返回 JSON 对象:
- 最后 - 最后的比特币价格
- 日期 - 价格日期
- 最高价 - 过去 24 小时至今价格最高
- 低 - 过去 24 小时至今价格低
- VWAP - 过去 24 小时至今的成交量加权平均价格:VWAP
- 交易量 - 最近 24 小时至今的交易量
- 出价 - 最高买入订单
- 卖出价 - 最低卖单
这是我的代码:
$.ajax({
type: "GET",
url: "https://kiwi-coin.com/api/ticker/",
});
是的,没有办法处理响应。暂时忽略这一点, 我只是专注于让请求工作。
这是我在控制台中遇到的错误:
无法加载 https://kiwi-coin.com/api/ticker/:请求的资源上不存在"访问控制允许源"标头。因此,不允许访问源"https://cloud-rooster.glitch.me"。
我做错了什么?此 API 适用于其他用户(例如机器人)。
我查看了具有类似标题的其他问题,但从我可以得出的答案来看,所有问题都涉及对服务器进行更改,在这种情况下这不是一个选项。
如果 API 服务器不支持 CORS,则有两个选项:
JSONP
.虽然你不能在没有足够许可的情况下制作跨源XHR,但你可以从任何地方包含一个JavaScript文件。如果 API 服务器返回类似callback({ json data ...})
的内容,那么您可以使用数据而无需跳过箍。但是,KiwiCoin似乎不支持这一点。- 从与客户端应用程序相同的源运行您自己的服务器(可能是托管 HTML/JS 文件的同一服务器),并在服务器上具有转发到 API 服务器的终结点。这是万无一失的。
我从查看您的代码中注意到的一件事是您对process.env
的调用,这在浏览器中不存在。这可能是您需要尝试选项 #2 的迹象!
事实证明,我是从客户端(在浏览器中)而不是服务器端(在 Node.js 环境中)运行函数的。
咄!
问题解决了。