AJAX: Miért szinte mindig jobb az aszinkron

AJAX, amely aszinkron JavaScript és az XML, egy olyan módszer, amely lehetővé teszi a weboldalak aszinkron frissítését, ami azt jelenti, hogy a böngészőnek nem kell újból betöltenie a teljes oldalt, ha az oldalon csak egy apró rész megváltozott. Az AJAX csak a frissített információkat továbbítja a kiszolgálóra és a kiszolgálóra.

A szokásos webes alkalmazások szinkronban dolgozzák fel a webes látogatók és a szerver közötti interakciókat. Ez azt jelenti, hogy egy dolog történik a másik után; a szerver nem végez többfeladatot. Ha egy gombra kattint, az üzenet elkerül a kiszolgálóra, és a válasz visszatér. Addig semmilyen más elemmel nem léphet kapcsolatba, amíg a válasz meg nem érkezik, és az oldal nem frissül.

Nyilvánvaló, hogy ez a fajta késés negatívan befolyásolhatja a weblátogatók tapasztalatait - ennélfogva az AJAX-t.

Mi az AJAX?

Az AJAX nem programozási nyelv, hanem olyan technika, amely magában foglalja az ügyféloldali szkriptet (azaz egy szkriptet, amely a felhasználó böngészőjében fut), amely kommunikál a webszerverrel. Továbbá, a neve kissé megtévesztő: bár egy AJAX alkalmazás az XML-t használhatja adatok küldésére, csak egyszerű szöveget vagy JSON-szöveget is használhat. De általában egy XMLHttpRequest objektumot használ a böngészőben, hogy adatokat kérjen a szerverről, és a JavaScriptet az adatok megjelenítéséhez.

instagram viewer

AJAX: Szinkron vagy aszinkron

Az AJAX szinkron és aszinkron módon is hozzáférhet a szerverhez:

  • szinkron, amelyben a szkript leáll, és arra vár, hogy a kiszolgáló válaszot küldjön, mielőtt folytatná.
  • aszinkron, amelyben a szkript lehetővé teszi az oldal további feldolgozását, és kezeli a választ, ha és mikor érkezik meg.

A kérés feldolgozása szinkron hasonló az oldal újratöltéséhez, de a teljes oldal helyett csak a kért információkat töltik le. Ezért az AJAX szinkron felhasználása gyorsabb, mint egyáltalán nem való használata - de a látogatónak meg kell várnia a letöltést, mielőtt bármilyen további interakció folytatódhat az oldallal. Az emberek tudják, hogy néha meg kell várniuk, amíg az oldal betöltődik, de a legtöbb ember nem szokott folytatni a jelentős késleltetést a webhelyen való tartózkodás után.

A kérés feldolgozása aszinkron elkerüli a késedelmet, amíg a kiszolgálóról történő letöltés megtörténik, mivel a látogató továbbra is kapcsolatba léphet a weboldallal; a kért információkat a háttérben dolgozzák fel, és a válasz frissíti az oldalt, amikor megérkezik. Ezenkívül akkor is, ha a válasz késik - például nagyon nagy adatok esetén - a webhely látogatói nem veszik észre, mert az oldal más helyén vannak elfoglalva.

Ezért az AJAX használatának előnyben részesített módja az aszinkron hívások használata, ahol csak lehetséges. Ez az AJAX alapértelmezett beállítása.

Miért érdemes használni a szinkron AJAX-t?

Ha az aszinkron hívások olyan továbbfejlesztett felhasználói élményt nyújtanak, miért kínál az AJAX a szinkron hívások kezdeményezésének módját?

Míg az aszinkron hívások az idő nagy részében a legjobb választás, ritka esetekben nem érdemes megengedni, hogy a látogató továbbra is interakcióba lépjen a weboldallal, amíg egy adott szerveroldali folyamat meg nem történik befejeződik.

Ezekben az esetekben sokkal jobb lehet, ha egyáltalán nem használja az AJAX-t, ehelyett csak töltse be újra az egész oldalt. Az AJAX szinkron opciója olyan helyzetekben elérhető, ahol nem lehet aszinkron hívást használni, de a teljes oldal újratöltése nem szükséges. Előfordulhat, hogy például olyan tranzakció-feldolgozást kell kezelnie, amelyben a sorrend fontos. Fontolja meg azt az esetet, amikor egy weboldalnak visszatérnie kell egy visszaigazoló oldalhoz, miután a felhasználó valamelyikre kattintott. Ehhez a feladathoz szükség van a kérések szinkronizálására.