@woooxel

Как получить данные из json ответа, полученого при помощи ajax и поместить значение на график plotly.js?

При запросе из ajax по адресу
127.0.0.1:8000/sensor/print
Мне приходит ответ, вроде:
{"temp0": "10", "temp1": "30", "voltage": "10", "current": "100"}
Я хочу взять значение temp0 и строить по этим значениям график, используя plotly js.
Как я могу этого добиться?
вот мой код в JS:

$(document).ready(function(){
    function secret(){
    $.ajax({
              type: "GET",
              url: 'http://127.0.0.1:8000/sensor/print/',
              data: {get_param: 'temp0'},
              dataType: 'json',
              success: function (data) {
                return Number(data.temp0);
              }
            });

    }


    Plotly.newPlot('simple',[{
        y: [1,2,3].map(secret),
        mode: 'lines',
        line: {color: '#80CAF6'}
    }]);
        var interval = setInterval(function() {
                  Plotly.extendTraces('simple', {
                    y: [[secret()]]
                  }, [0])

                  if(++cnt === 100) clearInterval(interval);
                }, 300);
        });

А в итоге у меня ничего не чертится, что я делю неправильно?
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Aricus
Проблема в асинхронности поступающих данных. Функция завершается до того, как данные успевают поступить в return, потому ничего не возвращается. Если вам необходимо разделить эти две части, поместите в функцию Plotly, и вызовите её в ajax.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы