AJAX: Prečo je asynchrónny takmer vždy lepší

click fraud protection

AJAX, čo znamená asynchrónny JavaScript a XML, je technika, ktorá umožňuje asynchrónne aktualizáciu webových stránok, čo znamená, že prehliadač nemusí znova načítať celú stránku, keď sa zmenilo iba malé množstvo údajov na stránke. AJAX odovzdáva iba aktualizované informácie na server a zo servera.

Štandardné webové aplikácie spracovávajú interakcie medzi návštevníkmi webu a serverom synchrónne. To znamená, že jedna vec sa stane za druhou; server nemá viac úloh. Ak kliknete na tlačidlo, správa sa odošle na server a odpoveď sa vráti. Dokým nebude prijatá odpoveď a stránka nebude aktualizovaná, nebudete môcť pracovať s inými prvkami stránky.

Je zrejmé, že tento druh oneskorenia môže mať negatívny vplyv na zážitok návštevníka webu - a teda AJAX.

Čo je AJAX?

AJAX nie je programovací jazyk, ale technika, ktorá zahŕňa skript na strane klienta (t. J. Skript, ktorý beží v prehliadači používateľa) a ktorý komunikuje s webovým serverom. Ďalej je jeho názov trochu zavádzajúci: zatiaľ čo aplikácia AJAX môže na odosielanie údajov používať XML, ale môže použiť aj obyčajný text alebo text JSON. Vo všeobecnosti však používa objekt XMLHttpRequest vo vašom prehliadači na vyžiadanie údajov zo servera a JavaScript na zobrazenie údajov.

instagram viewer

AJAX: Synchrónny alebo asynchrónny

AJAX má prístup k serveru synchrónne aj asynchrónne:

  • synchrónne, v ktorej sa skript zastaví a pred pokračovaním čaká na odoslanie odpovede zo servera.
  • asynchrónne, v ktorom skript umožňuje, aby sa stránka ďalej spracovala, a vybaví odpoveď, keď a kedy príde.

Prebieha spracovanie vašej žiadosti synchrónne je podobné obnoveniu stránky, ale namiesto celej stránky sa stiahnu iba požadované informácie. Preto je synchrónne používanie AJAX rýchlejšie ako vôbec nepoužívanie - pred pokračovaním akejkoľvek ďalšej interakcie so stránkou však musí návštevník počkať, kým dôjde k stiahnutiu. Ľudia vedia, že niekedy musia čakať na načítanie stránky, ale väčšina ľudí nie je zvyknutá pokračovať, výrazné oneskorenia po tom, čo sa nachádzajú na webe.

Prebieha spracovanie vašej žiadosti asynchrónne vyhýba sa oneskoreniu pri načítaní zo servera, pretože váš návštevník môže naďalej interagovať s webovou stránkou; požadované informácie budú spracované na pozadí a odpoveď aktualizuje stránku pri príchode. Ďalej, aj keď je odpoveď oneskorená - napríklad v prípade veľmi veľkých údajov - návštevníci stránok si to nemusia uvedomiť, pretože sú obsadení inde na stránke.

Preto je preferovaným spôsobom použitia AJAX použitie asynchrónnych hovorov všade, kde je to možné. Toto je predvolené nastavenie v AJAX.

Prečo používať synchrónny AJAX?

Ak asynchrónne volania poskytujú takú lepšiu používateľskú skúsenosť, prečo ponúka AJAX spôsob, ako uskutočniť synchrónne volania vôbec?

Zatiaľ čo asynchrónne volania sú najlepšou voľbou v prevažnej väčšine prípadov, vyskytujú sa zriedkavé situácie, keď to tak nie je má zmysel umožniť návštevníkovi pokračovať v interakcii s webovou stránkou až do procesu na konkrétnom serveri dokončené.

V mnohých z týchto prípadov môže byť lepšie nepoužiť AJAX a namiesto toho znova načítať celú stránku. Synchrónna možnosť v službe AJAX existuje pre malý počet situácií, v ktorých nemôžete použiť asynchrónne volanie, ale opätovné načítanie celej stránky nie je potrebné. Možno budete musieť napríklad spracovať niektoré transakcie, pri ktorých je dôležitá objednávka. Zvážte prípad, keď webová stránka musí vrátiť stránku s potvrdením potom, čo používateľ niečo klikne. Táto úloha vyžaduje synchronizáciu požiadaviek.

instagram story viewer