【问题标题】:Exchange API using javascript使用 JavaScript 的交换 API
【发布时间】:2018-07-01 11:09:16
【问题描述】:

我正在使用 javascript 来使用此站点上的 API https://www.luno.com/en/api,但我不明白为什么我没有收到任何数据。如果我只是输入这个网址:https://api.mybitx.com/api/1/ticker?pair=XBTZAR 我确实会在浏览器中收到数据。

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    var myObj = JSON.parse(this.responseText);
    document.getElementById("luno").innerHTML = myObj.bid;
  }
};
xmlhttp.open("GET", "https://api.mybitx.com/api/1/ticker?pair=XBTZAR", true);
xmlhttp.send();

为什么没有返回任何东西?

【问题讨论】:

  • 问题是什么?你有什么想不通的?它是一个对象,因此您可以引用要获取详细信息的键。
  • 我的两个示例代码都不适用于这两种 API,我不明白为什么
  • 如果您以正确的方式引用属性,则代码可以正常工作......该对象上没有“最后一个”。它位于其他对象之一中。
  • 在第一个块中,我不知道如何解析像 ETH_PLU 这样的一对,然后使用里面的对象
  • api 说它有一个市场参数,如果我像这样api.idex.market/returnTicker?market=ETH_PLU 附加市场参数它不会改变任何东西

标签: javascript c# json algorithm api


【解决方案1】:

CORS 请求有问题。

您可以在开发者控制台上看到类似的错误:

您不能从 JS 代码调用 API,因为 api.mybitx.com 会阻止跨域请求。

你有几个解决方案:

  1. 创建自己的服务器端 API 方法。 从您的 JS 代码中调用此方法。 在 API 方法内部调用api.mybitx.com API 使用WebRequestRestSharp

  2. 如果你只想在JS代码上做,那么你需要使用EasyXDM库。

对我来说,第一个解决方案更简单、更正确。

【讨论】:

  • 我意识到这是一篇旧帖子,但我已经实现了一个基本的 expressjs 服务器,它带有一个调用 LunoAPI 的 reactjs 应用程序,我希望它对可能遇到同样问题的人有所帮助github.com/nicholasbergesen/luno-app
猜你喜欢
  • 2016-05-03
  • 1970-01-01
  • 2019-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-09
相关资源
最近更新 更多