Как правильно использовать Ajax-вызовы для инициализации страницы? - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть сервер, который прослушивает запросы и обслуживает определенную информацию. Мне нужна моя веб-страница, чтобы при первой загрузке она запрашивала у сервера самую актуальную информацию. Я хочу загрузить свою веб-страницу с этой информацией.

function fetch_response(unit, cmd, callback) {
   var xhttp = new XMLHttpRequest;

   xhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        handle_response(this);
        if (callback != undefined)
        {
          callback();
        }
      }
   };

   xhttp.open("GET", "fetch_response?Unit=" + unit + "&Command=" + cmd, true);
   xhttp.send();
}

function handle_response(xhttp)
{
  console.log(xhttp);
  response_url = xhttp.responseURL.toLowerCase();
  if (response_url.includes('current_speed_1'.toLowerCase()))
  {
    document.getElementById('current_speed').innerHTML = xhttp.responseText;
  }
  else if (response_url.includes('current_speed_2'.toLowerCase()))
  {
    document.getElementById('current_speed_2').innerHTML = xhttp.responseText;
  }
  else
  {
    console.log(xhttp.responseText);
  }
}

(function () {

   // Get servo 1 speed
   fetch_response('servo1', 'current_speed_1', function() {
     // Get servo 2 speed
     fetch_response('servo2', 'current_speed_2', null)
   });

   console.log('Refresh');
})();

Это работает нормально, но передача ответного вызова после получения ответа на вызов ajax кажется, что я не использую ajax для его предназначения. У меня нет большого опыта работы с асинхронными вызовами, поэтому я надеялся, что смогу получить некоторую мудрость о том, как обычно выполнять начальную настройку на веб-странице с вызовами ajax?

...