K úvodním odstavečkům bych měl několik poznámek. Protože zdejší redakční systém k**ví komentáře, budu se části snažit oddělovat reakce alespoň řadou spojovníků.
- – – – –
ad „Webová stránka na základě události vytvoří AJAXové volání na server, server vrátí data ve formátu HTML, webová stránka přijatý fragment HTML zobrazí“
_ Tento přístup má obrovskou výhodu. Aplikace na serveru totiž HTML fragment vygenerovat umí, takže je neefektivní stejnou funkčnost duplikovat na straně JavaScriptu. Zbytečná práce navíc, možnost zavlečení chyby, v případě změny nutnost aktualizovat dvě místa.
_ Ano, jsou situace, kdy je lepší poslat data a z nich vygenerovat HTML kód, typickým případem jsou třeba našeptávače. Ale tady se práce neduplikuje – HTML podobu našeptávače totiž webový server obvykle negeneruje, jde čistě o JS záležitost.
- – – – –
ad „Od začátku mi tomhle řešení připadlo svým způsobem nečisté. Ať už proto, že se zde obvykle neprovádí žádná kontrola přijatých dat“
_ Všimni si, že žádná kontrola se neprovádí ani při použití JS šablonovacích systémů.
- – – – –
ad „…Ale i proto, že v takovém případě nemohu pracovat s daty, ale jen s jejich HTML výstupem“
_ To není tak úplně pravda, třeba zrovna ve zmíněném Nette Framework se zpravidla v jedné odpovědi odesílá obojí – JS data i HTML fragmenty.
- – – – –
ad „pokud budu chtít použít stejnou AJAXovou službu na jiném webu…“
_ To nejde už kvůli bezpečnostní politice prohlížečů.
- – – – –