Klarstellung: Ich analysiere HTML nicht innerhalb meiner eigenen API. Ich rufe die öffentlich zugängliche API von Swiggy nur zu Lern- und Übungszwecken direkt von einem React-Frontend aus auf. Das
Problem besteht darin, dass dieser Endpunkt manchmal HTML oder eine leere Antwort (Status 202) anstelle von JSON zurückgibt, was dazu führt, dass „response.json()“ fehlschlägt. Meine Frage bezieht sich darauf, warum dies passiert, wenn solche APIs von Drittanbietern über den Browser aufgerufen werden, und wie es im Frontend korrekt gehandhabt werden sollte, und nicht auf die manuelle Konvertierung von HTML in JSON innerhalb der API.
Ich rufe eine API mit fetch() in einer React-Anwendung auf. Die Anfrage ist erfolgreich und „response.ok ist wahr, aber wenn ich versuche, die Antwort mit „response.json()“ zu analysieren, erhalte ich diese Fehlermeldung:
Code: Select all
Uncaught (in promise) SyntaxError: Unexpected end of JSON input
Manchmal bekomme ich auch: