Shrnutí
V této lekci jste se naučili, že:
- Server je počítač na internetu, který má uložené soubory webu a posílá je tomu, kdo o ně požádá. Stránka si u něj může říct i o data.
- Data cestují jako text, většinou v JSON. Vypadá jako pole a objekty v JavaScriptu, ale klíče i text jsou vždy ve dvojitých uvozovkách, za poslední položkou není čárka a nejsou v něm komentáře. Soubory s JSON mají příponu
.json. JSON.parse(text)převede text v JSON na pole a objekty,JSON.stringify(hodnota)je převede na text v JSON.await fetch("zvirata.json")požádá server o soubor a počká na odpověď,await odpoved.json()přečte její obsah jako JSON. Obojí patří doasyncfunkce a data se dají použít až po nich.odpoved.okjefalse, když server odpověděl chybou, třeba 404 Not Found při překlepu v názvu souboru. Zkontrolujte ho a místo dat ukažte chybovou zprávu.- Zpráva jako
Načítám…dá uživateli vědět, že data jsou na cestě. Ukažte ji předfetch()a odstraňte ji, když jsou data na stránce. - Načtená data mějte v proměnné a stránku z nich vykreslujte funkcí, kterou zavoláte znovu, kdykoli se něco změní. Pomůže vám
createElement()a metody polí. localStorageuchovává data v prohlížeči i po znovunačtení stránky:setItem(klic, hodnota)ukládá,getItem(klic)čte (null, když nic uložené není) aremoveItem(klic)maže.localStorageuchovává jen text, takže pole a objekty ukládejte pomocíJSON.stringify()a čtěte pomocíJSON.parse(). Co je uložené, načtěte hned při otevření stránky.
V příští lekci, dalším miniprojektu, postavíte malou aplikaci na výběr filmu pro filmový večer: načte filmy ze souboru, nechá vás v nich hledat a zapamatuje si vaše oblíbené.
Nejdřív si ale vše procvičte na stránce s recepty, kde zaškrtávací políčko ukáže jen vegetariánské recepty a stránka si pamatuje, jestli je políčko zaškrtnuté.
Jak psát:
Pokyny
Načtěte recepty.json a ukažte každý recept v seznamReceptu jako Palačinky (20 min). Během načítání ukažte v prvku zprava text Načítám… a vyprázdněte ho, jakmile jsou recepty na stránce.
Když je políčko polickoVegetarianske zaškrtnuté, ukažte jen vegetariánské recepty, a když není, zase všechny. Recepty mějte v proměnné a seznam vykreslujte funkcí.
Zapamatujte si políčko: když se změní, uložte do localStorage, jestli je zaškrtnuté, a při otevření stránky ho zaškrtněte, pokud zaškrtnuté bylo, aby seznam ukázal jen vegetariánské recepty. Tip: JSON.stringify() a JSON.parse() fungují i pro true a false.