两个单独的.getjson调用返回NAN,如何修复它?

时间:2018-01-24 09:25:07

标签: javascript html getjson

接下来我可以使用两个单独的.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调用相乘。

提前多多感谢。

1 个答案:

答案 0 :(得分:1)

我调试了你的代码并看到了#34; GBP" key存在于data2.rates对象中而不是data2中。所以data2 [" GBP"]的值是未定义的。因此,它返回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()
  });
});