Dies ist eine ähnliche Frage zu diesem post in SO. Aber die hier angegebene Antwort kann nicht in meinem Fall angewendet werden, da ich die Antwortheader vom Server nicht ändern kann.
Angenommen, ein HTTP POST zu einem anderen Ursprung. Dies beinhaltet CORS, einschließlich eines CORS-Preflight-Austauschs. Angenommen, die OPTIONS-Anfrage gibt aufgrund eines Serverproblems einen Fehler zurück. In diesem Fall gibt der Error-Handler ""
für Daten und 0
für den Status statt geben Sie mir den Statuscode 503 und den Text: service not available
. Ein Beispiel für dieses Szenario ist im folgenden Bild dargestellt.
Ich verwende AngularJS $ http und ich weiß, dass in der Antwort keine CORS-Header sind, wenn solche Fehler happen.and ich es nicht ändern kann.
Gibt es eine Möglichkeit, dass ich den richtigen Fehlercode und den Text in meinem Ablehnungsobjekt erhalten kann.
Ich frage vielleicht das Offensichtliche, aber wenn Sie den Server nicht ändern können und Sie wissen, dass es keine CORS-Header hat, warum würden Sie dann überhaupt versuchen, eine Cross-Site-Anfrage zu machen? – Claies
@Claies danke für Ihre Zeit! Der Server sendet CORS-Header für alle erfolgreichen Anfragen. Aber wenn ein Fehler wie "503-service unavailable" passiert, sendet er einfach keine CORS-Header, über die ich keine Kontrolle habe. –
hmm Ich bin noch nie auf solche Probleme gestoßen, aber ich werde ein wenig nachforschen und sehen, was ich ausgraben kann. – Claies