AJAX: Zašto je asinhronost gotovo uvijek bolja

AJAX, što znači asinkrono JavaScript i XML je tehnika koja omogućuje ažuriranje web stranica asinkrono, što znači da pregledniku nije potrebno ponovno učitati cijelu stranicu kada se promijeni samo mali broj podataka na stranici. AJAX prosljeđuje samo ažurirane podatke na i sa poslužitelja.

Standardne web aplikacije sinkrono obrađuju interakcije između posjetitelja i poslužitelja. To znači da se jedna stvar događa za drugom; poslužitelj nema više zadataka. Ako kliknete gumb, poruka se šalje poslužitelju, a odgovor se vraća. Ne možete komunicirati s bilo kojim drugim elementima stranice dok ne stigne odgovor i stranica se ne ažurira.

Očito, ovakav odgoda može negativno utjecati na iskustvo web posjetitelja - dakle, AJAX.

Što je AJAX?

AJAX nije programski jezik, već tehnika koja uključuje skriptu na strani klijenta (tj. Skriptu koja se izvodi u korisničkom pregledniku) i koja komunicira s web poslužiteljem. Nadalje, njegov naziv je pomalo zabludu: dok AJAX aplikacija može koristiti XML za slanje podataka, također može koristiti samo običan tekst ili JSON tekst. Ali općenito, koristi XMLHttpRequest objekt u vašem pregledniku da zatraži podatke sa poslužitelja i JavaScript za prikaz podataka.

instagram viewer

AJAX: sinkrono ili asinhrono

AJAX može poslužitelju pristupiti i sinkrono i asinkrono:

  • sinkronizirano, u kojem se skripta zaustavlja i čeka da poslužitelj vrati odgovor prije nastavka.
  • asinkrono, u kojem skripta omogućava da se stranica nastavi obrađivati ​​i obrađuje odgovor ako i kada stigne.

Obrađuje se vaš zahtjev sinkronizirano slično je ponovnom učitavanju stranice, ali preuzimaju se samo traženi podaci umjesto cijele stranice. Dakle, sinkronizacija s AJAX-om brža je nego što je uopće ne upotrebljavate - ali ona i dalje zahtijeva da vaš posjetitelj pričeka da se dogodi preuzimanje prije nego što se nastavi daljnja interakcija sa stranicom. Ljudi znaju da ponekad trebaju čekati da se učita stranica, ali većina ljudi nije navikla na nastavak, znatna kašnjenja nakon što se nađu na nekom mjestu.

Obrađuje se vaš zahtjev asinkrono izbjegava kašnjenje tijekom dohvaćanja s poslužitelja jer vaš posjetitelj može nastaviti interakciju s web stranicom; tražene informacije obrađivat će se u pozadini, a odgovor će ažurirati stranicu kao i kad stigne. Nadalje, čak i ako odgovor kasni - na primjer, u slučaju vrlo velikih podataka - posjetitelji web stranice to možda neće shvatiti jer su na drugim mjestima na stranici.

Stoga je preferirani način upotrebe AJAX korištenje asinkronih poziva kad god je to moguće. Ovo je zadana postavka u AJAX-u.

Zašto koristiti Synchronous AJAX?

Ako asinkroni pozivi omogućavaju tako poboljšano korisničko iskustvo, zašto AJAX uopće nudi način sinkronih poziva?

Iako su asinhroni pozivi najbolji izbor većine vremena, rijetke su situacije u kojima to ne funkcionira ima smisla dopustiti posjetitelju da nastavi interakciju s web stranicom do određenog postupka na strani poslužitelja ne završi.

U mnogim je slučajevima možda bolje uopće ne koristiti AJAX, već samo učitati cijelu stranicu. Opcija sinkronizacije u AJAX-u postoji zbog malog broja situacija u kojima ne možete koristiti asinkroni poziv, ali nije potrebno ponovno učitavanje cijele stranice. Na primjer, možda ćete trebati obraditi neku obradu transakcija u kojoj je redoslijed važan. Razmotrite slučaj u kojem web stranica treba vratiti stranicu za potvrdu nakon što je korisnik nešto kliknuo. Ovaj zadatak zahtijeva sinkronizaciju zahtjeva.

instagram story viewer