0

对于使用交换 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() 错误。

我该如何解决这个问题?

4

0 回答 0