АЈАКС, што значи асинхроно ЈаваСцрипт и КСМЛ је техника која омогућава да се веб странице ажурирају асинхроно, што значи да прегледачу није потребно да поново учита целу страницу када се промени само мали број података на страници. АЈАКС прослеђује само ажуриране информације на и са сервера.
Стандардне веб апликације синхроно обрађују интеракције између посетилаца и сервера. То значи да се једно дешава једно за другим; сервер не ради више задатака. Ако кликнете на дугме, порука се шаље серверу, а одговор се враћа. Не можете комуницирати с било којим другим елементима странице док одговор није примљен и страница се не ажурира.
Очигледно да овакво кашњење може негативно утицати на искуство посетилаца веб - отуда, АЈАКС.
Шта је АЈАКС?
АЈАКС није програмски језик, већ техника која укључује скрипту на страни клијента (тј. Скрипту која се покреће у прегледачу корисника) која комуницира са веб сервером. Даље, његов назив је помало заблуду: док АЈАКС апликација може користити КСМЛ за слање података, такође може користити само обичан текст или ЈСОН текст. Али генерално, он користи КСМЛХттпРекуест објект у вашем претраживачу да затражи податке са сервера и ЈаваСцрипт за приказ података.
АЈАКС: Синхроно или асинхроно
АЈАКС може да приступи серверу и синхроно и асинхроно:
- Синхроно, у којој се скрипта зауставља и чека да сервер врати одговор пре наставка.
- Асинхроно, у којем скрипта омогућава да се страница настави обрађивати и обрађује одговор ако и када стигне.
Обрађује се ваш захтев синхроно слично је поновном учитавању странице, али преузимају се само тражене информације уместо целе странице. Дакле, синхроно коришћење АЈАКС је брже него што је уопште не користите - али то и даље захтева од вашег посетиоца да сачека да се преузме пре него што настави било каква даља интеракција са страницом. Људи знају да понекад морају да сачекају да се страница учита, али већина људи није навикла да наставе, што је значајније одлагање након што се нађу на неком сајту.
Обрађује се ваш захтев асинкроно избегава кашњење током преузимања са сервера јер ваш посетилац може наставити интеракцију са веб страницом; тражене информације ће бити обрађене у позадини, а одговор ће ажурирати страницу као и кад стигне. Даље, чак и ако одговор буде одгођен - на пример, у случају веома великих података, посетиоци сајта га можда неће схватити јер су заузети другде на страници.
Стога је пожељни начин употребе АЈАКС-а употреба асинхроних позива кад год је то могуће. Ово је подразумевана поставка у АЈАКС-у.
Зашто користити Синцхроноус АЈАКС?
Ако асинхрони позиви омогућавају тако побољшано корисничко искуство, зашто АЈАКС уопште нуди начин за синхроно позивање?
Иако су асинхрони позиви најбољи избор већине времена, ријетке су ситуације у којима то није случај има смисла омогућити посетиоцу да настави интеракцију са веб страницом до одређеног процеса на страни сервера довршава.
У многим од ових случајева можда је боље да АЈАКС уопште не користите, а само да поново учитате читаву страницу. Синхрона опција у АЈАКС-у постоји због малог броја ситуација у којима не можете да користите асинхрони позив, али је непотребно поновно учитавање целе странице. На пример, можда ћете требати да обрађујете неку обраду трансакција у којој је редослед важан. Размотрите случај у којем веб страница треба да врати страницу за потврду након што је корисник нешто кликнуо. Овај задатак захтева синхронизацију захтева.