对于使用exchange api urls和json keys从交换API获取价格的小部件:
var Url = 'https://insert.api.url/';
var Key = 'insert.json.key';
request(Url, function(req) {
var data = JSON.parse(req.responseText);
var rate = eval("data." + Key);
callback(rate);
});
return true;
}
function request(Url, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = (function(xhr) {
return function() {
callback(xhr);
}
})(xhr);
xhr.open('GET', Url, true);
xhr.send();
}
这适用于某些API,例如:
var Url = 'https://api.kraken.com/0/public/Ticker?pair=XBTUSD';
var Key = 'result.XXBTZUSD.c[0]';
但在某些情况下它不起作用,例如:
var Url = 'https://api.coinmarketcap.com/v1/ticker/bitcoin/';
var Key = '0[price_usd]';
我的“预期令牌”出现了eval()错误。
我该如何解决这个问题?