AJAX: Защо асинхронният почти винаги е по-добър

click fraud protection

AJAX, което означава асинхронно JavaScript и XML, е техника, която позволява на уеб страниците да се актуализират асинхронно, което означава, че браузърът не трябва да презарежда цялата страница, когато се променят само малко данни на страницата. AJAX предава само актуализираната информация към и от сървъра.

Стандартните уеб приложения обработват синхронно взаимодействията между уеб посетителите и сървъра. Това означава, че едно нещо се случва след друго; сървърът не изпълнява многозадачност. Ако щракнете върху бутон, съобщението се изпраща до сървъра и отговорът се връща. Не можете да взаимодействате с други елементи на страницата, докато отговорът не бъде получен и страницата не бъде актуализирана.

Очевидно този вид забавяне може да повлияе негативно на опита на посетителите на уебсайта - следователно AJAX.

Какво е AJAX?

AJAX не е език за програмиране, а техника, която включва клиентски скрипт (т.е. скрипт, който работи в браузъра на потребителя), който комуникира с уеб сървър. Освен това името му е донякъде подвеждащо: докато AJAX приложение може да използва XML за изпращане на данни, то може също така да използва просто обикновен текст или JSON текст. Но като цяло той използва обект XMLHttpRequest във вашия браузър, за да изисква данни от сървъра и JavaScript за показване на данните.

instagram viewer

AJAX: Синхронен или асинхронен

AJAX може да получи достъп до сървъра както синхронно, така и асинхронно:

  • Синхронно, в който скриптът спира и чака сървърът да изпрати обратно отговор, преди да продължи.
  • Асинхронно, в който скриптът позволява на страницата да продължи да се обработва и обработва отговора, ако и когато пристигне.

Обработка на вашата заявка синхронно е подобно на презареждането на страницата, но вместо цялата страница се изтегля само исканата информация. Следователно използването на AJAX синхронно е по-бързо, отколкото въобще да не го използвате - но все пак изисква посетителят ви да изчака да изтеглите, преди да продължи всяко по-нататъшно взаимодействие със страницата. Хората знаят, че понякога трябва да изчакат да се зареди страница, но повечето хора не са свикнали да продължават, значителни закъснения след като са на сайт.

Обработка на вашата заявка асинхронно избягва забавянето по време на извличането от сървъра, защото посетителят ви може да продължи да взаимодейства с уеб страницата; исканата информация ще бъде обработена във фонов режим и отговорът ще актуализира страницата както и когато тя пристигне. Освен това, дори ако отговорът се забави - например в случай на много големи данни, посетителите на сайта може да не го осъзнаят, защото са заети другаде на страницата.

Следователно, предпочитаният начин за използване на AJAX е използването на асинхронни разговори, когато е възможно. Това е настройката по подразбиране в AJAX.

Защо да използвате синхронен AJAX?

Ако асинхронните обаждания осигуряват подобрено подобрение на потребителите, защо AJAX предлага начин изобщо да извършва синхронни повиквания?

Докато асинхронните разговори са най-добрият избор в по-голямата част от времето, има редки ситуации, в които това не става има смисъл да разрешите на вашия посетител да продължи да взаимодейства с уеб страницата до конкретен процес от страна на сървъра завърши.

В много от тези случаи може би е по-добре изобщо да не използвате AJAX и вместо това просто да презаредите цялата страница. Синхронната опция в AJAX е налице за малкия брой ситуации, в които не можете да използвате асинхронно повикване, но презареждането на цялата страница е ненужно. Например, може да се наложи да се справите с някаква обработка на транзакции, в която редът е важен. Помислете за случай, при който уеб страница трябва да върне страница за потвърждение, след като потребителят е щракнал върху нещо. Тази задача изисква синхронизиране на заявките.

instagram story viewer