Was läuft schief?

Statt der Ressource antwortet der Server

Statusmeldungen sind kein JSON

Verwirrend dabei ist, dass (ohne zusätzliche Massnahmen in deinem Code) fetch() trotzdem versucht, die Antwort zu lesen. Weil die Antwort nicht im JSON-Format ist, wird der der abgefangene Error lauten:
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON (Antwort ist eine klassische 404-Seite), oder:
SyntaxError: Unexpected end of JSON input (Antwort ist nur eine HTTP-Meldung ohne body)

Kurzerklärung der Zahlen im HTTP-Statuscode


Bildquelle: dev.to/bisrategebriel/http-status-codes-101-6jh


Zahl Ursprung/Grund Was bedeutet das für mich als Entwickler?
1xx Die Bearbeitung der Anfrage ist im Gang. Der Server vertröstet dich mit einer provisorischen Antwort
2xx Erfolg Du kannst mit dem Verarbeiten der Antwort vom Server loslegen
3xx Die Anfrage wurde umgeleitet Meistens hat das für dich als Entwickler:in keine Konsequenzen, ausser es wird zu viel umgeleitet.
4xx Client-Fehler Du als Entwickler hast etwas falsch gemacht.
In den meisten Fällen liegt das wohl daran: Die URL oder der Pfad stimmt nicht. Andere Ursachen können grundsätzliche Fehler oder nicht erlaubte Methoden in der Anfrage sein.
5xx Server-Fehler Sehr wahrscheinlich liegt die Schuld dafür beim Provider (Überlastung des Servers), ausser dein Script in der Ressource hat den Server in die Knie gezwungen.

Wikipedia: HTTP-Statuscode

Statt der richtigen Antwort der Ressource kommt eine PHP-Fehlermeldung

Die Antwort ist auch jetzt nicht im JSON-Format, weil ...