TransWikia.com

Асинхронный запрос js

Stack Overflow на русском Asked by Random chel on January 7, 2021

у меня есть запрос примерно такого характера:

var x = new XMLHttpRequest();

x.open("GET", "тут ссылка на сайт", false);

x.send();

if (x.status != 200) {   // обработать ошибку
    alert( x.status + ': ' + x.statusText ); // пример вывода: 404: Not Found
} else {
    let r = JSON.parse(x.response)
}

Если я во 2 строке, передаю 3-им параметром true (то есть делаю асинхронным запрос), то у меня идет status=0, readyState = 1, с чем это может быть связано? При Синхронном запросе, все приходит и работает

One Answer

Чтобы асинхронный код был похож на синхронный нужно делать как-то так:

/* Код полностью рабочий.
   Можно вставить в консоль находясь на любом сайте. */
(async()=>{
  const response = await fetch('/',{method:'GET'});
  const mainPage = await response.text();
  console.log(mainPage);

  /* Потом можно, например, распарсить это хозяйство */
  const parsedMain = (new DOMParser()).parseFromString(mainPage,'text/html');
  const mainTitle = parsedMain.querySelector('head title');
  console.log(mainTitle.innerHTML);
})();

Answered by DiD on January 7, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP