AJAX: Kodėl asinchroninis yra beveik visada geresnis

AJAX, kuris reiškia asinchroninį „JavaScript“ ir XML, yra technika, leidžianti atnaujinti tinklalapius asinchroniškai, tai reiškia, kad naršyklei nereikia iš naujo įkelti viso puslapio, kai pasikeitė tik šiek tiek duomenų apie šį puslapį. AJAX perduoda tik atnaujintą informaciją į serverį ir iš jo.

Standartinės žiniatinklio programos sinchroniškai apdoroja interneto lankytojų ir serverio sąveiką. Tai reiškia, kad vienas dalykas vyksta po kito; serveris neturi daugiafunkcinių funkcijų. Jei paspausite mygtuką, pranešimas bus išsiųstas į serverį, o atsakymas bus grąžintas. Negalite bendrauti su jokiais kitais puslapio elementais, kol negausite atsakymo ir puslapis nebus atnaujintas.

Akivaizdu, kad toks atidėliojimas gali neigiamai paveikti interneto lankytojų patirtį - vadinasi, AJAX.

Kas yra AJAX?

AJAX nėra programavimo kalba, o technika, į kurią įeina kliento scenarijus (t. Y. Scenarijus, kuris veikia vartotojo naršyklėje), kuris susisiekia su interneto serveriu. Be to, jos pavadinimas yra šiek tiek klaidinantis: nors „AJAX“ programa duomenims siųsti gali naudoti XML, ji taip pat gali naudoti paprastą ar JSON tekstą. Bet paprastai jis naudoja XMLHttpRequest objektą savo naršyklėje, norėdamas pateikti duomenis iš serverio, ir „JavaScript“, kad duomenys būtų rodomi.

instagram viewer

AJAX: sinchroninis arba asinchroninis

AJAX gali pasiekti serverį sinchroniškai ir asinchroniškai:

  • Sinchroniškai, kuriame scenarijus sustoja ir laukia, kol serveris atsiųs atsakymą prieš tęsdamas.
  • Asinchroniškai, kuriame scenarijus leidžia toliau tvarkyti puslapį ir tvarko atsakymą, jei jis ateina.

Apdorojame jūsų prašymą sinchroniškai yra panašus į puslapio perkėlimą, tačiau atsisiųsta tik prašoma informacija, o ne visas puslapis. Todėl naudoti AJAX sinchroniškai yra greičiau nei jo visiškai nenaudoti - vis tiek lankytojui reikia palaukti, kol atsiras atsisiuntimas, kad būtų galima tęsti bet kokią tolesnę sąveiką su puslapiu. Žmonės žino, kad kartais reikia laukti, kol puslapis bus įkeltas, tačiau dauguma žmonių nėra įpratę toliau tęsti reikšmingo vėlavimo po to, kai yra svetainėje.

Apdorojame jūsų prašymą asinchroniškai išvengia delsimo, kol vyksta nuskaitymas iš serverio, nes jūsų lankytojas gali ir toliau bendrauti su tinklalapiu; prašoma informacija bus apdorota fone, o atsakymas atnaujins puslapį, kai tik jis atvyks. Be to, net jei atsakymas vėluoja, pavyzdžiui, esant labai dideliems duomenims, svetainės lankytojai gali to nesuvokti, nes jie yra užimti kitoje puslapio vietoje.

Todėl geriausias būdas naudoti AJAX yra visur, kur įmanoma, naudoti asinchroninius skambučius. Tai yra numatytasis „AJAX“ nustatymas.

Kodėl verta naudoti sinchroninį AJAX?

Jei asinchroniniai skambučiai suteikia tokią patobulintą vartotojo patirtį, kodėl AJAX išvis siūlo būdą sinchroniniams skambučiams atlikti?

Nors didžiąją laiko dalį geriausias pasirinkimas yra asinchroniniai skambučiai, pasitaiko retų situacijų prasminga leisti lankytojui tęsti sąveiką su tinklalapiu iki tam tikro serverio pusės proceso užbaigia.

Daugeliu šių atvejų gali būti geriau išvis nenaudoti AJAX ir vietoj to iš naujo įkelti visą puslapį. Sinchroninė „AJAX“ parinktis naudojama nedaugeliui situacijų, kai negalite naudoti asinchroninio skambučio, tačiau nebūtina iš naujo įkelti viso puslapio. Pvz., Gali tekti tvarkyti tam tikrą operacijų apdorojimą, kai pavedimas yra svarbus. Apsvarstykite atvejį, kai tinklalapiui reikia grąžinti patvirtinimo puslapį, kai vartotojas ką nors spustelėjo. Ši užduotis reikalauja sinchronizuoti užklausas.