AJAX: Zakaj je asinhrono skoraj vedno boljše

AJAX, kar pomeni asinhrono JavaScript in XML, je tehnika, ki omogoča posodobitev spletnih strani asinhrono, kar pomeni, da brskalniku ni treba ponovno naložiti celotne strani, če se spremeni le majhen del podatkov na strani. AJAX posreduje samo posodobljene podatke na in s strežnika.

Standardne spletne aplikacije sinhrono obdelajo interakcije med spletnimi obiskovalci in strežnikom. To pomeni, da se ena stvar dogaja za drugo; strežnik ne opravlja večopravilnosti. Če kliknete gumb, se sporočilo pošlje strežniku in odgovor se vrne. Dokler ne prejmete odgovora in ne posodobite strani, ne morete komunicirati z nobenimi drugimi elementi strani.

Očitno lahko tovrstna zamuda negativno vpliva na izkušnjo spletnega obiskovalca - torej AJAX.

Kaj je AJAX?

AJAX ni programski jezik, ampak tehnika, ki vključuje skript na strani odjemalca (tj. Skript, ki se izvaja v brskalniku uporabnika), ki komunicira s spletnim strežnikom. Poleg tega je njegovo ime nekoliko zavajajoče: medtem ko lahko aplikacija AJAX za pošiljanje podatkov uporablja XML, lahko uporablja tudi samo navadno besedilo ali besedilo JSON. Na splošno pa v vašem brskalniku uporablja objekt XMLHttpRequest, ki zahteva podatke s strežnika in JavaScript za prikaz podatkov.

instagram viewer

AJAX: Sinhrono ali asinhrono

AJAX lahko do strežnika dostopa tako sinhrono kot asinhrono:

  • Sinhrono, v katerem se skript ustavi in ​​čaka, da strežnik pred nadaljevanjem pošlje odgovor.
  • Asinhrono, v katerem skripta omogoča, da se stran še naprej obdeluje in obravnava odgovor, če in kdaj prispe.

Obdelava vaše zahteve sinhrono je podobno ponovnemu nalaganju strani, vendar se namesto celotne strani prenašajo samo zahtevane informacije. Zato je sinhronizacija AJAX hitrejša, kot če je sploh ne uporabljate, vendar kljub temu od obiskovalca potrebuje, da počaka, da se prenese, preden se nadaljuje nadaljnja interakcija s stranjo. Ljudje vedo, da morajo včasih počakati, da se stran naloži, vendar večina ljudi ni navajena na nadaljevanje, večje zamude, ko so na spletnem mestu.

Obdelava vaše zahteve asinhrono se izogne ​​zamudi med iskanjem s strežnika, ker lahko vaš obiskovalec še naprej komunicira s spletno stranjo; zahtevane informacije bodo obdelane v ozadju, odgovor pa bo stran posodobil, ko in ko bo prispela. Poleg tega, tudi če je odgovor odložen - na primer pri zelo velikih podatkih, ga obiskovalci spletnega mesta morda ne zaznajo, ker so na drugem mestu na strani.

Zato je najprimernejši način uporabe AJAX uporaba asinhronih klicev, kadar koli je to mogoče. To je privzeta nastavitev v AJAX.

Zakaj uporabljati Synchronous AJAX?

Če asinhroni klici zagotavljajo tako izboljšano uporabniško izkušnjo, zakaj AJAX sploh ponuja način za sinhrono klicanje?

Medtem ko so večino časa asinhroni klici najboljša izbira, so redke situacije, v katerih ne smiselno je, da obiskovalcu omogočite nadaljevanje interakcije s spletno stranjo do določenega postopka na strani strežnika dokonča.

V mnogih od teh primerov je morda bolje, da AJAX sploh ne uporabljate in namesto tega samo ponovno naložite celotno stran. Sinhrona možnost v AJAX je na voljo za majhno število situacij, v katerih ne morete uporabiti asinhronega klica, vendar ponovno nalaganje celotne strani ni potrebno. Na primer, morda boste morali obdelati nekaj obdelave transakcij, v katerih je pomemben vrstni red. Razmislite o primeru, ko mora spletna stran vrniti potrditveno stran, potem ko je uporabnik nekaj kliknil. Ta naloga zahteva sinhronizacijo zahtev.