【问题标题】:Using getexchangerates.com API to display table of prices in different currencies使用 getexchangerates.com API 显示不同货币的价格表
【发布时间】:2015-04-28 13:11:38
【问题描述】:

这是我在这里的第一篇文章,所以请温柔! :-)

我在网页上有一张以 GB 为单位的价格表,我想添加更多列,其中包含几种主要货币(例如美元、欧元等)的价格

我找到了http://www.getexchangerates.com/api/ 并且可以调用 API,但似乎无法从网页中使用它。我知道这是为了防止跨站点问题。请问有什么办法吗?

如果我可以让 API 调用正常工作,我应该可以对计算和表格进行排序。

我正在尝试的代码如下 - 它返回一个空白页栏的货币标题。

<body>
<h1>Currencies</h1>
<div id="id01"></div>
<script>
var xmlhttp = new XMLHttpRequest();
var url = "http://www.getexchangerates.com/api/latest.json?currencies=EUR,GBP";
xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    myFunction(xmlhttp.responseText);
    }
}
xmlhttp.open("GET", url, true);
xmlhttp.send();

function myFunction(response) {
    var arr = JSON.parse(response);
    var i;
var out = "<table>";

for(i = 0; i < arr.length; i++) {
    out += "<tr><td>" + 
    arr[i].USD +
    "</td><td>" +
    arr[i].EUR +
    "</td><td>" +
    arr[i].GBP +
    "</td></tr>";
}
out += "</table>"
document.getElementById("id01").innerHTML = out;
}
</script>

</body>
</html>

谢谢。

理查德

【问题讨论】:

    标签: api jscript rate


    【解决方案1】:

    试试:

    </html>
    <head>
    </head>
    <body>
    <h1>Currencies</h1>
    <div id="id01"></div>
    <script>
    
    (function() {
        var xmlhttp = new XMLHttpRequest();
        var url = "http://www.getexchangerates.com/api/latest.json?currencies=EUR,GBP";
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            myFunction(xmlhttp.responseText);
            }
        }
        xmlhttp.open("GET", url, true);
        xmlhttp.send();
    
        function myFunction(response) {
            var arr = JSON.parse(response);
            var out = "<table border='1'><tr><td>USD</td><td>EUR</td><td>GBP</td></tr><tr><td>" + arr.USD + "</td><td>" + arr.EUR +"</td><td>" + arr.GBP + "</td></tr>" + "</table>";
            document.getElementById("id01").innerHTML = out;
        }
    })();
    
    </script>
    
    </body>
    </html>
    

    返回的数据是一个对象而不是一个数组。因此,您无法遍历传回的数据。

    【讨论】:

      猜你喜欢
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      相关资源
      最近更新 更多