Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:m307:learningunits:lu03:aufgaben:03 [2026/05/19 14:15] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m307:learningunits:lu03:aufgaben:03 [2026/05/21 16:59] (aktuell) – vdemir | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU03.A03 - Array darstellen mit Node-Server ====== | ||
| + | - Programmierung eines Node.js Webservers, der mittels GET ein Liste von Namen mittels ausgibt. | ||
| + | - Programmierung eines Node.js Webservers, der in eine Liste einen Namen mittels POST hinzufügt. | ||
| + | |||
| + | ===== Rahmenbedingungen ===== | ||
| + | * Sozialform: individual | ||
| + | * Hilfsmittel: | ||
| + | * Zeit: 20 Minuten | ||
| + | * Erwartetes Resultat: Node-Server, | ||
| + | |||
| + | ===== Ausgangslage ===== | ||
| + | Wir haben die Grundfunktionen eine Webservers in der letzten Aufgabe kennen gelernt. Nun wollen wir speziefischer werden und die Methoden POST und GET gezielt anwenden. | ||
| + | |||
| + | **Hinweis: | ||
| + | |||
| + | ===== Vorarbeit ===== | ||
| + | - Installieren Sie im Visual Studio Code das Framework " | ||
| + | - npm init -y: package.json-Datei wird erstellt, dass alle Abhängigkeiten des Projektes verwaltet. | ||
| + | - npm install express: Installation des express-Frameworks mit wichtigen Funktionen/ | ||
| + | |||
| + | ==== Projekt-Abhängigkeiten verwalten ==== | ||
| + | < | ||
| + | npm init -y | ||
| + | </ | ||
| + | |||
| + | **Ergebnis** | ||
| + | Das Ergebnis im Terminalfenster von Visual Studio Code sollte wie folgt aussehen. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ==== Framework express installieren ==== | ||
| + | |||
| + | < | ||
| + | npm install express | ||
| + | </ | ||
| + | |||
| + | **Ergebnis** | ||
| + | Das Ergebnis im Terminalfenster von Visual Studio Code sollte wie folgt aussehen. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== Aufgabe ===== | ||
| + | Das nachfolgende Script enthält einen JSON-Satz, der am Monitor anzeigt. Damit Sie das Script zum laufen bekommen befolgen Sie die nachfolgenden Anweiseungen. | ||
| + | |||
| + | - Kopieren Sie die nachfolgende JS-Vorlage in Ihre Visual Studio Code. | ||
| + | - Starten Sie den Server | ||
| + | - Lassen Sie sich die Daten im Browserfenster anzeigen. | ||
| + | - Ergänzen Sie den angezeigten Person-Datensatz durch weitere mindestens 3 Personen. | ||
| + | - Lassen Sie sich durch eine AI eine passende HTML-Darstellung für die Daten generieren. | ||
| + | |||
| + | |||
| + | **server.js** | ||
| + | <code javascript> | ||
| + | const express = require(' | ||
| + | const app = express(); | ||
| + | const path = require(' | ||
| + | |||
| + | |||
| + | // Die Daten der drei Personen | ||
| + | const personen = [ | ||
| + | { id: 1, name: "Max Mustermann", | ||
| + | ]; | ||
| + | |||
| + | // Server erstellen | ||
| + | const server = http.createServer((req, | ||
| + | // Wichtig: Wir setzen den Content-Type auf ' | ||
| + | res.writeHead(200, | ||
| + | | ||
| + | // Die Personen-Objekte in einen JSON-String umwandeln und senden | ||
| + | res.end(JSON.stringify(personen)); | ||
| + | }); | ||
| + | |||
| + | // Server auf Port 3000 starten | ||
| + | const PORT = 3000; | ||
| + | server.listen(PORT, | ||
| + | console.log(`Server läuft unter http:// | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | <code html> | ||
| + | < | ||
| + | <html lang=" | ||
| + | < | ||
| + | <meta charset=" | ||
| + | < | ||
| + | < | ||
| + | table { width: 50%; border-collapse: | ||
| + | th, td { border: 1px solid #999; padding: 8px; text-align: left; } | ||
| + | th { background-color: | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | < | ||
| + | <tr> | ||
| + | < | ||
| + | |||
| + | </tr> | ||
| + | </ | ||
| + | <!-- Hier landen die Daten dynamisch --> | ||
| + | <tbody id=" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | // Daten vom Server abrufen | ||
| + | fetch('/ | ||
| + | .then(response => response.json()) // Antwort in JSON umwandeln | ||
| + | .then(daten => { | ||
| + | const tbody = document.getElementById(' | ||
| + | | ||
| + | // Schleife durch alle Personen | ||
| + | daten.forEach(person => { | ||
| + | // Eine neue Tabellenzeile erstellen | ||
| + | const zeile = document.createElement(' | ||
| + | | ||
| + | // Zellen mit den Daten füllen | ||
| + | zeile.innerHTML = ` | ||
| + | < | ||
| + | |||
| + | `; | ||
| + | | ||
| + | // Zeile an die Tabelle anhängen | ||
| + | tbody.appendChild(zeile); | ||
| + | }); | ||
| + | }) | ||
| + | .catch(error => console.error(' | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ---- | ||
| + | ===== Lösungen ===== | ||
| + | [[de: | ||
| + | |||
| + | ---- | ||
| + | [[https:// | ||