两个单独的 .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()
});
});
按照教程,我可以使用两个单独的 .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()
});
});