Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Arbeiten mit APIs | Asynchrones JavaScript und APIs
Fortgeschrittene JavaScript-Meisterschaft
course content

Kursinhalt

Fortgeschrittene JavaScript-Meisterschaft

Fortgeschrittene JavaScript-Meisterschaft

2. DOM-Manipulation
3. Ereignisse und Ereignisbehandlung
4. Asynchrones JavaScript und APIs

book
Arbeiten mit APIs

Was ist eine API und wie interagieren wir damit?

Im Webentwicklung ermöglichen APIs Ihrem JavaScript-Code, mit externen Diensten zu interagieren, wie z.B. das Abrufen von Daten von einem Server, das Übermitteln von Formulardaten oder die Integration von Drittanbieterdiensten.

In modernen JavaScript-Anwendungen werden APIs häufig verwendet, um:

  • Daten von einem Server abzurufen (z.B. Wetterdaten, Nachrichtenartikel oder Produktdetails);
  • Daten an einen Server zu senden (z.B. ein Formular übermitteln oder Benutzereinstellungen speichern);
  • Mit Drittanbieterdiensten zu arbeiten (z.B. Google Maps, Twitter API, Zahlungs-Gateways).

Wir interagieren mit APIs, indem wir HTTP-Anfragen an einen API-Endpunkt senden, und der Server antwortet mit Daten, typischerweise im JSON-Format.

Senden von HTTP-Anfragen mit fetch()

Die Funktion fetch() ist eine moderne Methode, um Netzwerk-Anfragen in JavaScript zu stellen. Sie gibt ein Promise zurück, das aufgelöst wird, wenn die Anfrage abgeschlossen ist.

html

index.html

js

index.js

copy

Dieses Beispiel veranschaulicht das Senden einer HTTP-GET-Anfrage an eine API mit fetch(). Die Funktion fetchData sendet eine Anfrage an den angegebenen Endpunkt (https://jsonplaceholder.typicode.com/posts/1). Sobald die Antwort empfangen wird, analysiert response.json() die JSON-Daten. Der Titel des Beitrags wird dann aus den analysierten Daten extrahiert und im HTML-Absatz angezeigt.

Umgang mit API-Antworten: JSON-Parsing und Überprüfung des Antwortstatus

Nach dem Senden einer API-Anfrage ist es wichtig zu überprüfen, ob die Anfrage erfolgreich war und die Antwort ordnungsgemäß zu behandeln. In den meisten Fällen werden die von einer API zurückgegebenen Daten im JSON-Format bereitgestellt, sodass Sie sie mit response.json() analysieren müssen.

Zusätzlich sollten Sie immer den Antwortstatus überprüfen, um sicherzustellen, dass die Anfrage erfolgreich war (Statuscode 200–299).

html

index.html

js

index.js

copy

Dieses Beispiel demonstriert die Behandlung des Antwortstatus einer API-Anfrage. Die Funktion fetchAndCheckStatus sendet eine Anfrage an einen API-Endpunkt und prüft dann, ob die Antwort erfolgreich ist, indem sie response.ok verwendet, das true für Statuscodes im Bereich von 200–299 zurückgibt. Wenn die Anfrage erfolgreich ist, werden die JSON-Daten analysiert und angezeigt. Wenn die Anfrage fehlschlägt, wird der Fehlerstatuscode im HTML angezeigt.

Fehlerbehandlung mit APIs und Umgang mit Netzwerkfehlern

Beim Arbeiten mit APIs ist es wichtig, potenzielle Fehler zu behandeln, wie zum Beispiel:

  • Netzwerkfehler: Der Server könnte aufgrund von Netzwerkproblemen nicht erreichbar sein;
  • Ungültige Antworten: Die API könnte einen Fehler zurückgeben (z.B. 404 Nicht gefunden oder 500 Serverfehler).

Sie können Fehler behandeln, indem Sie try...catch zusammen mit fetch() verwenden, um sowohl Netzwerkfehler als auch API-Antwortfehler zu verwalten.

html

index.html

js

index.js

copy

Dieses Beispiel zeigt, wie man API-Fehler effektiv behandelt. Die Funktion fetchWithErrorHandling verwendet try...catch, um sowohl Netzwerkfehler als auch ungültige API-Antworten zu verwalten. Wenn die Anfrage an die ungültige URL fehlschlägt oder wenn der Antwortstatuscode außerhalb des Bereichs 200–299 liegt, wird ein Fehler mit einer spezifischen Nachricht ausgelöst. Der catch-Block zeigt dann die Fehlermeldung im HTML an. Diese Methode stellt sicher, dass alle Probleme mit dem API-Aufruf, wie ein schlechter Endpunkt oder Verbindungsprobleme, elegant verwaltet und dem Benutzer klar kommuniziert werden.

1. Was gibt die Funktion fetch() zurück?

2. Was ist der Zweck der Verwendung von try...catch mit fetch()?

Was gibt die Funktion `fetch()` zurück?

Was gibt die Funktion fetch() zurück?

Wählen Sie die richtige Antwort aus

Was ist der Zweck der Verwendung von `try...catch` mit `fetch()`?

Was ist der Zweck der Verwendung von try...catch mit fetch()?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 5
We're sorry to hear that something went wrong. What happened?
some-alt