对于使用交换 api url 和 json 键从交换 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() 错误。
我该如何解决这个问题?