ARCHIV – tento článek je již staršího data. Doufám, že mnoho myšlenek v něm je stále platných, avšak některé informace již mohou být zastaralé.
29.1.2007
U aplikací psaných v Ajaxu se často zapomíná na ošetřování chyb při spojení se serverem – stávají se docela běžně, např. když dojde k chybě ve skriptu, nepodaří se spojit s databází, vypadne spojení stránky se serverem, na cestě se ztratí paket nebo pouze prohlížeč uživatele nepodporuje Ajax úplně dobře. Co s tím?
Když dojde k jakékoliv z chyb, které jsem vyjmenoval v úvodu, při normálním stahování stránky ze serveru (bez Ajaxu), objeví se v prohlížeči obvykle chybová stránka. Když ale stahujete data pouze na pozadí pomocí Ajaxu, nic takového se v případě chyby nestane – na stránce běží progress bar, ale uživateli brzy dojde trpělivost. Potom buď stránku zavře nebo stiskne Zpět či Aktualizovat, což mu obvykle situaci ještě zhorší.
Řešení nabízí Peter Quinsey v článku User-Proofing Ajax (A List Apart, 5.12.2006):
Pro podrobnosti a další informace vám doporučuji odkazovaný článek. Závěrem bych jenom připomněl, že chybová hláška (o které se v textu často mluví) by měla být na stránce velmi jasně vidět, měla by popsat problém lidským způsobem a měla by hlavně doporučit uživateli, jak dál pokračovat.
Přesně tak. Když už používat AJAX, tak opravdu precizně s maximálním důrazem na použitelnost. AJAX je totiž výborný sluha, ale velice zlý pán.
2. habendorf | 29.1.2007, 11.19
Hm, myšlenka zcela jistě správná. Ovšem v obecné rovině se rozhodně netýká jen AJAXu, ale vpodstatě veškerého skriptování / programování / (webových) aplikací.
3. error414 | 29.1.2007, 12.04
K tomu bych jeste pridal ze uzivatel nechce videt chybu:
Nastala chyba cislo X230, server odpovedel error404.
// nakonec jeste michani s anglictinou, to ho urcite dorazi
conection failed
Takové chyby v ajaxu obsahuje server prace.cz, takže se týká i poměrně velkých a navštěvovaných serverů. V polovině dotazníku zůstal jen nekonečný progress bar a registraci nešlo dokončit.
Jo to je pravda. Někdy je zarážející, že někteří kódeři na to zapomínají i v javascriptových pseudoprototypech AJAXu.
6. Patrik | 5.6.2007, 23.43
Tohle mi prijde jako zaklad, ale je dobry na to upozornit...
Diskuse již není aktuální, další komentáře tedy není možné přidávat. Pokud mi i přesto chcete sdělit svůj názor na článek, kontaktujte mě.
© Martin Snížek 2005-2023. ISSN 1802-2103.