AJAX

AJAX (Asynchronous JavaScript and XML)

Az AJAX (Asynchronous JavaScript and XML) egy olyan technika, amely lehetővé teszi a weboldalak számára, hogy adatokat kérjenek le és küldjenek el a szerverre anélkül, hogy újratöltenék az oldalt. Az AJAX-kérések aszinkron módon futnak, ami azt jelenti, hogy az oldal más részei továbbra is működhetnek és válaszolhatnak a felhasználói interakciókra, miközben az adatok letöltése vagy feltöltése zajlik a háttérben.

Az AJAX HTTP-kéréseket használ (pl. GET, POST) az adatok lekérésére vagy küldésére egy szerverre. Az adatokat általában XML-ben vagy JSON-ben küldi vagy fogadja. Manapság a JSON formátum a leggyakrabban használt, mivel könnyebben kezelhető JavaScript-ben.

Alkalmazási területek:

  • Dinamikus tartalom frissítése (pl. űrlapok validálása, táblázatok)
  • Valós idejű keresési javaslatok (pl. autokomplett funkciók)
  • Részleges oldal frissítések (pl. térképek, időjárás widgetek)

XMLHttpRequest

Ez az eredeti módszer az AJAX-kérések végrehajtására JavaScriptben. Támogatja a teljes körű AJAX-funkcionalitást, beleértve az adatok küldését és fogadását JSON-ben, XML-ben, szövegként stb. Az XMLHttpRequest használata kissé bonyolultabb lehet, mivel manuálisan kell kezelni a különböző eseményeket, például a kérelem állapotát és válaszát.

    const xhr = new XMLHttpRequest();
    xhr.open("GET", "https://api.example.com/data", true);
    xhr.onreadystatechange = function () {
      if (xhr.readyState === 4 && xhr.status === 200) {
        console.log(JSON.parse(xhr.responseText));
      }
    };
    xhr.send();

jQuery AJAX

A jQuery egy népszerű JavaScript könyvtár, amely egyszerűsíti az AJAX-hívások írását és egyéb DOM manipulációkat. A jQuery AJAX metódusai (pl. $.ajax, $.get, $.post) lehetővé teszik az AJAX kérések végrehajtását kevesebb kóddal és könnyebb szintaxissal, de ma már kevésbé használják az újabb alkalmazásokban.

  $.ajax({
    url: "https://api.example.com/data",
    method: "GET",
    success: function(data) {
      console.log(data);
    },
    error: function(error) {
      console.error('Error:', error);
    }
  });

Fetch API

A Fetch API az újabb és modernebb módja az AJAX-kérések végrehajtásának JavaScriptben. Egyszerűbb és olvashatóbb szintaxissal rendelkezik, mint az XMLHttpRequest, és visszaad egy ígéretet (Promise), amely lehetővé teszi a kód tisztább és könnyebben olvasható írását. A Fetch API alapértelmezésben aszinkron, és támogatja az összes HTTP-metódust.

 fetch("https://api.example.com/data")
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

Axios

Az Axios egy ígéret-alapú HTTP kliens, amely számos extra funkciót biztosít az AJAX-hívásokhoz, mint például az automatikus JSON adatátalakítás, a lekérdezési paraméterek kezelésének megkönnyítése, és a központi hibakezelés.


    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <script>
      axios.get('https://api.example.com/data')
        .then(function (response) {
          console.log(response.data);
        })
        .catch(function (error) {
          console.error('Error:', error);
        });
    </script>