我正在使用货币转换API(http://fixer.io/)进行测试,现在我只是调用API来查找基础货币的汇率。现在我已经在API网址中硬编码了基础货币。 我能够获得汇率对象,但我无法获得与基础货币相对应的具体汇率,例如,如果基础货币是美元,而我正在查看日元的汇率它没有显示价值。
我试图仅使用JQuery来实现这一目标。
var link1 = "https://api.fixer.io/latest?base=USD";
$.ajax({
type: "GET",
url: link1,
success: function(rates) {
$.each(rates, function(i, exchangeRates) {
if(exchangeRates+"."+ "JPY"){
var z = exchangeRates+"."+"JPY"; //This concat is not working
console.log(z);
}
else{
console.log("error");
}
});
}
});
我在这里做错了什么?
答案 0 :(得分:1)
首先rates
是一个对象,因此您需要使用括号表示法来按键访问它。您不能只是将字符串附加到变量名称并将其用作访问者。
其次,您不需要循环返回的数据,因为它是嵌套对象。试试这个:
var link1 = "https://api.fixer.io/latest?base=USD";
var targetCurrency = 'JPY';
$.ajax({
type: "GET",
url: link1,
success: function(response) {
var rate = response.rates[targetCurrency]; // note bracket notation here
console.log(rate);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>