@ImagineWorld

Как выполнять JS скрипт когда выполнится AJAX запрос?

У меня есть ajax запрос, по итогам которого в DOM добавляется элемент. Как сделать так, чтобы скрипт включался в работу только тогда, когда завершился запрос и отрисовался элемент,а не сразу после загрузки страницы? Потому что если просто добавить его через script в index.html, то он выполняется по окончанию загрузки страницы, однако нужного ему для работы элемента еще нет странице, потому что AJAX асинхронный и рисует его когда вся страница уже прогрузилась.
  • Вопрос задан
  • 165 просмотров
Пригласить эксперта
Ответы на вопрос 2
@t800zippygod
Вам надо запускать скрипт из в коллбеке/промисе Ajax запроса.
Ответ написан
@SaNFeeD
Если я все правильно понял, то так.
Сделать переменную, куда будет сохраняться результат.
let request = '';
let xhr = new XMLHttpRequest();

xhr.open('GET',  'site.com',  true);
xhr.send();

if (xhr.status != 200) {
  alert( xhr.status + ': ' + xhr.statusText );
} else {
  request =  xhr.responseText;
}

Затем когда уже ajax отработал, то дожидаемся загрузки страницы и вставляем код
window.onload = () => {
  document.querySelector('.some-element').append(request);
}

Либо можно весь запрос поместить в функцию выше и обойтись без лишней переменной.
Если интересно, то можете почитать про AJAX
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы