<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>@tarass007</title><generator>teletype.in</generator><description><![CDATA[@tarass007]]></description><link>https://teletype.in/@tarass007?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=tarass007</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/tarass007?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/tarass007?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Wed, 13 May 2026 20:43:08 GMT</pubDate><lastBuildDate>Wed, 13 May 2026 20:43:08 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@tarass007/paGXKtyHOF8</guid><link>https://teletype.in/@tarass007/paGXKtyHOF8?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=tarass007</link><comments>https://teletype.in/@tarass007/paGXKtyHOF8?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=tarass007#comments</comments><dc:creator>tarass007</dc:creator><title>Як зробити HTTP-запит в Javascript?</title><pubDate>Tue, 21 Mar 2023 13:19:05 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/7e/3f/7e3f28db-d249-4c89-bd13-0d021f51fbff.png"></media:content><description><![CDATA[<img src="https://cdn-media-1.freecodecamp.org/images/1*zXtlRe4yRF3tZkFFvBhZeA.png"></img>Ajax — це традиційний спосіб створення асинхронного запиту HTTP. Дані можна надсилати за допомогою методу HTTP POST і отримувати за допомогою методу HTTP GET. Давайте подивимось, як зробити запит GET. Я буду використовувати сайт JSONPlaceholder – безкоштовний онлайн API REST для розробників, який повертає випадкові дані у форматі JSON.]]></description><content:encoded><![CDATA[
  <pre id="oUfk">Щоб зробити HTTP-запит в JavaScript, можна скористатися вбудованим методом або об&#x27;єктом.fetch()XMLHttpRequest()</pre>
  <pre id="uTwH">За допомогою методу fetch():</pre>
  <section style="background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <pre id="RegN" data-lang="jsx">javascriptCopy codefetch(url)
  .then(response =&gt; response.json())
  .then(data =&gt; console.log(data))
  .catch(error =&gt; console.error(error));
</pre>
  </section>
  <pre id="doQz">Використання об&#x27;єкта XMLHttpRequest()</pre>
  <section style="background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <pre id="IeJ1" data-lang="jsx">JavaScriptCopy codeconst request = new XMLHttpRequest();
request.open(&#x27;GET&#x27;, url, true);
request.onload = function() {
  if (this.status &gt;= 200 &amp;&amp; this.status &lt; 400) {
    const data = JSON.parse(this.response);
    console.log(data);
  } else {
    console.error(&#x27;Request failed with status code&#x27;, this.status);
  }
};
request.onerror = function() {
  console.error(&#x27;Request failed&#x27;);
};
request.send();
</pre>
  </section>
  <pre id="lHL3">В обох випадках замініть &#x27;url-адресу з URL-адресою кінцевої точки API або ресурсу, до якого ви хочете отримати доступ. Програмаfetch() метод повертає обіцянку, яка переходить до об&#x27;єкта відповіді, з якого потім можна витягти дані. &quot;XMLHttpRequestXMLHttpRequest() об&#x27;єкт надсилає HTTP-запит і обробляє відповідь, використовуючи його onload іonerror Методи.</pre>
  <h3 id="ajax"><strong>Ajax</strong></h3>
  <p id="r0IL">Ajax — це традиційний спосіб створення асинхронного запиту HTTP. Дані можна надсилати за допомогою методу HTTP POST і отримувати за допомогою методу HTTP GET. Давайте подивимось, як зробити запит <code>GET</code>. Я буду використовувати сайт JSONPlaceholder – безкоштовний онлайн API REST для розробників, який повертає випадкові дані у форматі JSON.</p>
  <p id="ql8S">Щоб зробити виклик HTTP в Ajax, потрібно ініціалізувати новий метод <code>XMLHttpRequest()</code> та вказати кінцеву точку URL-адреси і метод HTTP (у цьому випадку GET). Далі ми використовуємо метод <code>open()</code> для зв’язування методу HTTP та кінцевої точки URL-адреси і викликаємо метод <code>send()</code> для ініціалізації запиту.</p>
  <p id="N8gI">Ми реєструємо відповідь HTTP в консолі за допомогою властивості <code>XMLHTTPRequest.onreadystatechange</code>, яка містить обробник подій, що викликається, коли подія <code>readystatechanged</code> запускається.</p>
  <figure id="3Uwd" class="m_custom">
    <img src="https://cdn-media-1.freecodecamp.org/images/1*zXtlRe4yRF3tZkFFvBhZeA.png" width="800" />
  </figure>
  <pre id="lVid">const Http = new XMLHttpRequest();
const url=&#x27;https://jsonplaceholder.typicode.com/posts&#x27;;
Http.open(&quot;GET&quot;, url);
Http.send();

Http.onreadystatechange = (e) =&gt; {
  console.log(Http.responseText)
}</pre>
  <p id="VhCk">Якщо ви переглянете консоль браузера, то побачите, що вона поверне масив даних у форматі JSON. Але як ми можемо знати, чи запит виконано? Іншими словами, як ми можемо обробляти відповіді за допомогою Ajax?</p>
  <p id="bU20">Властивість <code>onreadystatechange</code> має два методи: <code>readyState</code> та <code>status</code>, які дозволяють перевірити стан нашого запиту.</p>
  <figure id="HgiO" class="m_custom">
    <img src="https://cdn-media-1.freecodecamp.org/images/1*UfZf6qaZwNh5Mptft4WIZA.png" width="800" />
  </figure>
  <p id="OAjT">Якщо <code>readyState</code> дорівнює 4, то це свідчить про те, що запит виконано. Властивість <code>readyState</code> має 5 відповідей. Дізнайтесь про них більше за цим <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState" target="_blank">посиланням</a>.</p>
  <p id="Rwrh">Окрім прямого виклику Ajax за допомогою JavaScript існують й інші, більш потужні методи здійснення виклику HTTP (наприклад, <code>$.Ajax</code>, який є методом jQuery) і тому я зупинюсь на них більш детально.</p>

]]></content:encoded></item></channel></rss>