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