两个单独的 .getjson 调用返回 NAN,如何解决?

Two seperate .getjson calls returning NAN, how to fix it?

按照教程,我可以使用两个单独的 .getjson 调用,其中第一个将执行,然后乘以来自下一个数据调用的数据,但是,它只是返回 NAN 作为值,我写了什么错了吗?

$.getJSON( "https://api.coinmarketcap.com/v1/ticker/raiblocks/", function( data ) {
  $.getJSON("https://api.fixer.io/latest?base=USD", function (data2) {
    change['rai-usd-cmc'] = data[0]["price_usd"] * data2["GBP"];
    $(".change-rai-usd-cmc").text(change['rai-usd-cmc']);
    $(".change-rai-usd-cmc").text(parseFloat(change['rai-usd-cmc']).toFixed(2));
    loader(false)
    updateData()
  });
});

正在尝试将第一次执行的数据与第二次 getjson 调用相乘。

非常感谢。

我调试了您的代码,发现 "GBP" 密钥存在于 data2.rates 对象中,而不是 data2 中。所以 data2["GBP"] 的值是未定义的。为此,它以 returns NAN 为值。所以你可以用 data2.rates["GBP"] 而不是 data2["GBP"].

重写你的代码

这里附上代码

   $.getJSON( "https://api.coinmarketcap.com/v1/ticker/raiblocks/", function( data ) {
  $.getJSON("https://api.fixer.io/latest?base=USD", function (data2) {
    change['rai-usd-cmc'] = data[0]["price_usd"] * data2.rates["GBP"];
    $(".change-rai-usd-cmc").text(change['rai-usd-cmc']);
    $(".change-rai-usd-cmc").text(parseFloat(change['rai-usd-cmc']).toFixed(2));
    loader(false)
    updateData()
  });
});