TZT - Laboratorium 2 Node.js, express – cz. 2

Transkrypt

TZT - Laboratorium 2 Node.js, express – cz. 2
TZT - Laboratorium 2
Node.js, express – cz. 2
Zadanie 1
Tworzymy aplikację z Node.js i express. Globalnie w aplikacji umieszczamy zmienną dane, będącą
tablicą (zob. np. tablice w JS). Umieszczamy w niej jeden element, np. dane[0] = "Pierwszy wpis";
W aplikacji pod adresem '/dane' ma się wyświetlać informacja o liczbie elementów tablicy i poniżej
w osobnych liniach po kolei wszystkie jej elementy, na razie jest tylko jeden. Przykład:
Zadanie 2
Pod jakimś statycznym adresem (np. plik get.html, zob. statyczne adresy w express) umieszczamy
formularz przesyłający metodą GET najnowsze wiadomości z zajęć prowadzonych na ICIS.
Pod adresem '/dodaj' umieszczamy kod, który doda przesłane przez formularz informacje do tablicy
dane z zadania pierwszego. Po odczytaniu adresu '/dane' aplikacji liczba wiadomości powinna się
odświeżyć, nowo dodana wiadomość powinna się pojawić pod wcześniejszymi wiadomościami.
Zadanie 3
Proszę tak zmodyfikować formularz z zadania 2, żeby zarówno wyświetlanie formularza jak i
dodawanie przesłanej przez niego informacji były obsługiwane przez ten sam adres czyli '/dodaj'.
Nie korzystamy już ze statycznego dostępu do plików HTML ale z metody sendFile(...). Wynik:
Warto zabezpieczyć aplikację przed dopisywaniem niezdefiniowanych (undefined) i pustych wpisów.
Zadanie 4
Pod adresem '/dodaj2' tworzymy obsługę dodawania informacji o zajęciach za pośrednictwem
formularza działającego na metodzie POST. Trzeba będzie dodać obsługę body-parser (łącznie z
instalacją tego pakietu z npm). Może być potrzeba zapewnienia obsługi adresu '/dodaj2' zarówno dla
metody get jak i post protokołu HTML.
Zadanie 5
W aplikacji tworzymy sobie drugą tablicę osoby, która będzie tablicą asocjacyjną. Każdy element
tablicy osoby ma być obiektem JavaScript zawierającym trzy pola: imię, nazwisko i email.
Inicjujemy ją przykładowymi wartościami, np.:
var osoby={};
osoby['jnowak'] = {imie:'Janina', nazwisko: "Nowak", email:"[email protected]"};
Pod adresem '/osoby' aplikacja ma wyświetlić liczbę osób w tablicy i informacje o każdej z osób.
Dla ułatwienia zobacz, uruchom i przeanalizuj poniższy kod (tab_assoc.js):
var tab={};
tab['tzt'] = {nazwa:'Technologie zarządzania treścią', specjalnosc: "ABiBD", wyklad: 30,
laboratoria: 30 };
tab['web20'] = {nazwa:'Tworzenie serwisów Web 2.0', specjalnosc: "ABiBD", wyklad: 15,
laboratoria: 30 };
console.log("Liczba elementów tabeli: "+Object.keys(tab).length)
for(key in tab){
var elem = tab[key];
console.log(key);
console.log(elem.nazwa+" "+elem.specjalnosc+" "+elem.wyklad+" "+elem.laboratoria);
}
Zadanie 6 – dla chętnych, jeśli tacy będą :)
Na końcu każdej linijki wyświetlającej informację o zajęciach dodać odnośnik, który pozwoli na
usunięcie danej informacji z tablicy dane. Chodzi więc o zrobienie takiego najprostszego sposobu
na usuwanie danych z tablicy poprzez interfejs HTML.