Как передать переменные из каждого вызова ajax в функцию 1 drawchart - PullRequest
0 голосов
/ 30 апреля 2018

Опираясь на этот вопрос здесь

У меня есть следующий код, который рисует 2 графика на основе двух вызовов ajax.

google.charts.load('current', {
  packages: ['corechart', 'bar']
}).then(function () {
  $.ajax({
    url: 'data.php',
    dataType: 'json'
  }).done(drawChart1);

  $.ajax({
    url: 'data.php',
    dataType: 'json'
  }).done(drawChart2);
});

function drawChart1(result) {
  ...
}

function drawChart2(result) {
  ...
}

Я смотрю на повторное использование кода здесь. Как передать переменные из каждого вызова ajax в функцию 1 drawChart? И где бы я определил переменные в каждом вызове ajax перед передачей их в функцию рисования диаграммы?

Я думаю, это будет выглядеть примерно так:

  $.ajax({
    url: 'data.php',
    dataType: 'json'
  }).done(drawChart,variable1,variable2);
...

function drawChart(result,variable1,variable2) {
  ...
  //draw chart at variable1 position
  //draw chart at variable2 position
  //variable 1 & 2 would be ids for where I want the charts to be drawn
}

Примечание: я сейчас читаю здесь , чтобы попытаться решить эту проблему.

РЕДАКТИРОВАТЬ1 - Ответ - что-то вроде ниже, слава

              $.ajax({
            url: 'data.php',
            dataType: 'json'
          }).done(function(jsonData) {
            drawChart(jsonData, "variable1", "variable2");
          })

          function drawChart(result, v1, v2) {

            console.log("drawChart called")
            console.log("result")
            console.log(result)
            console.log("v1")
            console.log(v1)
            console.log("v2")
            console.log(v2)
          }
...