Ajax se tam řadí na velmi vysoké místo z největších důvodů, proč používat jQuery. Nejen, že jQuery opravuje problémy napříč prohlížeči, umožňuje velmi snadné použití a pochopení syntaxe.
V tomto videu se snažíme vysvětlit, co je Ajax vůbec. Podíváme se na prvek formuláře, který při odeslání provede požadavek GET nebo POST (podle atributu metody) na adresu URL, kterou zadáte (podle atributu akce). To je jen HTML, vůbec se tam neděje žádný backendový kód nebo JavaScript. Ale toto podání způsobí, že se stránka změní, doslova znovu načte na novou adresu URL, stejně jako kliknete na odkaz.
Ajax nám umožňuje provést tento požadavek GET nebo POST na pozadí bez opětovného načtení stránky. V jádru je to celý bod Ajaxu. A je to velmi silné. Je do značné míry zodpovědný za to, proč moderní webové stránky fungují a cítí se tak, jak fungují.
Ajax dříve „stál za“ asynchronním JavaScriptem a XML, ale dnes je to z velké části ignorováno, protože to moc neznamená. Proto také dekapitalizace. Někdy také můžete vidět „XHR“, což je zkratka pro XMLHttpRequest, což je nativní základní technologie Ajaxu.
Rozdíl mezi GET a POST je v zásadě: GET je pro získávání informací a neměl by být zodpovědný za změnu dat a POST je konkrétně za změnu dat. Neváhejte a přečtěte si o tom více v tomto vlákně StackOverflow.
Zadání požadavku GET v jQuery je neuvěřitelně snadné:
$.get( "URL", function(data) ( // do something with data )); ));
URL je místo, kde doufáte, že získáte data. Druhým parametrem je funkce zpětného volání, která se spustí, když byl požadavek Ajaxu úspěšný. Nejdůležitějším parametrem je první, data, která obsahuje informace, které získala z požadavku.
Žádosti Ajaxu mohou někdy selhat. Jedním z důvodů tohoto selhání může být samotný prohlížeč a jeho zásady zabezpečení. V samotných prohlížečích jsou uvedena pravidla, odkud lze požadovat obsah. Žádosti lze vždy odesílat na stejnou doménu, ze které požadavek pochází. Pokud je však zapojena jiná doména, bude ji muset specificky povolit.
Vše o tom si můžete přečíst na enable-cors.org. CORS znamená „sdílení zdrojů mezi zdroji“. Podíváme se na příklad, kde CORS není povolen a požadavek Ajaxu selže. Jeden standardní a snadný způsob, jak to opravit, za předpokladu, že server je Apache, je nastavit záhlaví, které konkrétně umožňuje CORS prostřednictvím souboru .htaccess:
Header set Access-Control-Allow-Origin "*"
Ve videu přesuneme požadavek Ajaxu na CodePen, který ve výchozím nastavení Ajax dobře zpracovává.
Snadné kýčovité:
Podívejte se na Pen fBInl od Chrisa Coyiera (@chriscoyier) na CodePen