Tach!
statustext oder response, such dir was aus. Wenn der Server nicht in der Lage war, die Antwortdaten in der gewünschten Form zusammenzustellen, dann muss man ja nicht zwangsläufig die Fehlermeldung in denselben Content-Type einpacken. Sende einen einfachen Text oder auch ein Objekt in Json-Format.
Bedenke, responseType ist ein ArrayBuffer.
Hmm, responseType muss man vor dem Request-Abschicken setzen und der lässt sich im Zustand DONE nicht mehr ändern. Dann bleibt dir nur der statusText.
Es gibt mehrere Möglichkeiten. Aber den statusText würde ich da außen vorlassen und besser einen custom Header mit dem entsprechenden Fehlertext veranlassen.
Oder man nimmt den ArrayBuffer und zieht mit einem StringView die Fehlermeldung da raus.
Wenn du nicht ohne wirkliche Not mit Binärzeugs hantieren würdest, dann hättest du mit JSON die besseren Karten, was die Flexibilität des Inhalts anbelangt.
Das Problem mit xhr.responseType="json"
ist, daß eben auch die Erstellung einer JSON Response auf dem Server schiefgehen kann, z.B. wenn ein SQL Statement fehlschlägt.
Dann müsste man für die Fehlermeldung dann auch einen extra JSON erzeugen.
Gibt es Artikel die sich näher mit diesem Thema befassen?
MfG