我有这样的功能
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');