我有这样的功能

function cryptChange(cr){
        var url = 'https://min-api.cryptocompare.com/data/dayAvg?fsym=' + cr + '&tsym=PLN';
        console.log(url);      // it's just for testing in console

};
cryptChange('LTC');
cryptChange('BTC');


如您所见,此代码与带有JSON数据的AJAX调用的URL正常工作,返回有效的URL。
想要做类似的事情,但是在较短的版本中,
我有很多类似下面的代码行,我想减少代码行数

$.getJSON('https://min-api.cryptocompare.com/data/dayAvg?fsym=BTC&tsym=PLN', function(btc2){
    $('#tt-11').html(btc2.PLN.toFixed(2)); //its passed into html block
});
$.getJSON('https://min-api.cryptocompare.com/data/dayAvg?fsym=BCH&tsym=PLN', function(bch2){
        $('#tt-12').html(bch2.PLN.toFixed(2));
    });


现在,我想将cryptChange函数与AJAX调用混合使用,以传递用于回调的参数,并在$('#tt-11')。html(btc2 here
现在更清楚了吗?

最佳答案

定义一个将所有不同部分作为参数的函数。

function getCrypt(from, to, id) {
    $.getJSON('https://min-api.cryptocompare.com/data/dayAvg', {
        fsym: from,
        tsym: to
    }, function(result){
    $('#' + id).html(result[to].toFixed(2));
});


然后,您可以执行以下操作:

getCrypt('BTC', 'PLN', 'tt-11');
getCrypt('BCH', 'PLN', 'tt-12');

09-20 05:07