Aktuální sekce: Weblog

Přeskočit na menu

Počítání s chybami v Ajaxu

29.1.2007 | Témata: Ajax, Pravidla použitelnosti

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):

  1. Ještě před spuštěním Ajaxu důsledně kontrolujte, jestli prohlížeč uživatele tuto technologii zvládá. Pokud ne, použijte klasické řešení bez Ajaxu.
  2. Kontrolujte stavový kód HTTP, který vám vrátil server v reakci na váš požadavek zaslaný pomocí Ajaxu. V případě nestandardních kódů buď požadavek opakujte, nebo informujte uživatele chybovou hláškou.
  3. Součástí XML dat, která přišla jako odpověď serveru, by měla být i informace, jestli došlo při provádění skriptu k chybě, a případně chybová hláška, kterou zobrazit uživateli.
  4. Měli byste ve skriptu sledovat, jak dlouho trvá serveru odpověď na váš požadavek – pokud tato doba překročí únosnou mez (např. 20 vteřin), pravděpodobně došlo k chybě ve spojení a měli byste buď poslat nový požadavek, nebo zobrazit chybovou hlášku.

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.

6 komentářů od čtenářů

RSS komentářů

 

Přidat komentář

1. Dero | 29.1.2007, 9.20 E-mail autora komentáře č. 1 Web autora komentáře č. 1

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 Web autora komentáře č. 3

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

4. Ronnie | 29.1.2007, 16.59 E-mail autora komentáře č. 4 Web autora komentáře č. 4

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.

5. MiSHAK | 1.2.2007, 17.58 E-mail autora komentáře č. 5 Web autora komentáře č. 5

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...

Přidat komentář

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ě.

Nové články přes RSS/e-mail

Optimics - měření a optimalizace webu

V roce 2009 jsem založil firmu Optimics – měření a optimalizace webu.

Weblog

Pravidelné krátké i delší články pro manažery, majitele a tvůrce webů. Hlavními tématy jsou návrh a řízení webu, zvyšování obchodní účinnosti webu, uživatelská přívětivost (použitelnost), internetový marketing, SEO a informační architektura.

Články by vám měly pomáhat tvořit weby, které plní své cíle – tedy především vydělávají.

Autorem článků je Martin Snížek, webový konzultant. Více o mně »

Krátce (twitter)

→ Co dělat spíš - analýzu použitelnost nebo uživatelské testování? Zajímavý pohled: http://bit.ly/9XpwG0

→ Segmentace návštěvníků jednoduše pomocí Google Analytics, Google Website Optimizer a BTBuckets: http://bit.ly/5AFTNo (via @paveljasek)

→ Reklama vs. direct marketing: http://bit.ly/735RKC (můžete si dosadit třeba i "klasickou komunikaci" a "search marketing").

→ Asynchronní kód GA bych radši nepoužíval. Hrozný bordel v zápisu eventů a custom proměnných za to podle mě nestojí.

Více na Twitteru (RSS)

Vyhledávání

© Martin Snížek 2005-2012

Snizekweb.cz – Martin Snížek o webdesignu. Běží na vlastním CMS.

ISSN 1802-2103

Vybírám z nejlepších článků:

Praktické tipy pro copywriting

Přečtěte si praktické tipy a postupy, jak napsat kvalitní obchodní text pro web! Dozvíte se například, jak dosáhnout jednoduchosti textu, jak udělat text svěží, jak ho dostatečně zkrátit nebo jak nalézt všechny výhody prodávaného produktu.