Ajax-вызов, функция обратного вызова, JavaScript - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть такая функция

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');

Как видите, этот код работает нормально с URL-адресом вызова AJAX с данными JSON, возвращая действительный 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 здесь <==. PLN.toFixed (2); </p>

Теперь, ребята, понятнее?

1 Ответ

0 голосов
/ 15 сентября 2018

Определите функцию, которая принимает все переменные части в качестве параметров.

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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...