AJAX, což znamená asynchronní JavaScript a XML, což je technika, která umožňuje asynchronní aktualizaci webových stránek, což znamená, že prohlížeč nemusí znovu načíst celou stránku, pokud se na stránce změnila pouze malá část dat. AJAX předává pouze aktualizované informace na a ze serveru.
Standardní webové aplikace zpracovávají interakce mezi návštěvníky webu a serverem synchronně. To znamená, že jedna věc se stane za druhou; server není multitask. Pokud klepnete na tlačítko, zpráva se odešle na server a odpověď se vrátí. Dokud není přijata odpověď a stránka není aktualizována, nemůžete interagovat s žádnými dalšími prvky stránky.
Je zřejmé, že tento druh zpoždění může negativně ovlivnit zážitek návštěvníka webu - tedy AJAX.
Co je AJAX?
AJAX není programovací jazyk, ale technika, která zahrnuje skript na straně klienta (tj. Skript, který běží v prohlížeči uživatele) a který komunikuje s webovým serverem. Dále je jeho název poněkud zavádějící: zatímco aplikace AJAX může používat XML k odesílání dat, může také použít pouze prostý text nebo text JSON. Obecně však používá objekt XMLHttpRequest ve vašem prohlížeči k vyžádání dat ze serveru a JavaScript k zobrazení dat.
AJAX: Synchronní nebo asynchronní
AJAX má přístup k serveru synchronně i asynchronně:
- Synchronně, ve kterém se skript zastaví a před pokračováním čeká, až server odešle odpověď.
- Asynchronně, ve kterém skript umožňuje pokračovat ve zpracování stránky a zpracovává odpověď, pokud a kdy dorazí.
Zpracování vaší žádosti synchronně je podobné opětovnému načtení stránky, ale místo celé stránky se stáhnou pouze požadované informace. Proto je synchronní používání AJAX rychlejší než vůbec, ale stále vyžaduje, aby návštěvník počkal, až ke stažení dojde, než bude pokračovat další interakce se stránkou. Lidé vědí, že někdy potřebují čekat na načtení stránky, ale většina lidí není zvyklá na pokračování, výrazná zpoždění poté, co jsou na webu.
Zpracování vaší žádosti asynchronně vyhýbá se zpoždění při načítání ze serveru, protože váš návštěvník může i nadále interagovat s webovou stránkou; požadované informace budou zpracovány na pozadí a odpověď aktualizuje stránku, jakmile dorazí. Dále, i když je odpověď zpožděna - například v případě velmi velkých dat - si ji návštěvníci webu nemusí uvědomit, protože jsou obsazeni jinde na stránce.
Proto je upřednostňovaným způsobem použití AJAX používání asynchronních hovorů, kdykoli je to možné. Toto je výchozí nastavení v AJAX.
Proč používat synchronní AJAX?
Pokud asynchronní volání poskytují lepší uživatelský dojem, proč nabízí AJAX způsob, jak provádět synchronní hovory vůbec?
Zatímco asynchronní hovory jsou tou nejlepší volbou po většinu času, existují vzácné situace, kdy tomu tak není má smysl umožnit návštěvníkovi pokračovat v interakci s webovou stránkou až do určitého procesu na straně serveru dokončí.
V mnoha z těchto případů může být lepší nepoužívat AJAX vůbec a místo toho znovu načíst celou stránku. Synchronní možnost v AJAX je zde pro malý počet situací, ve kterých nemůžete použít asynchronní volání, ale není nutné znovu načíst celou stránku. Například budete možná muset zpracovat některé zpracování transakcí, v nichž je objednávka důležitá. Zvažte případ, kdy webová stránka potřebuje vrátit potvrzovací stránku poté, co uživatel něco klikne. Tato úloha vyžaduje synchronizaci požadavků.