CORS-Fehler: Zulässige Header ändern
Beim Versuch, eine POST-Anfrage mit Datei-Uploads durchzuführen, stößt der Browser häufig auf den Fehler: „Anfrage Headerfeld Content-Type ist von Access-Control-Allow-Headers nicht zulässig.“
Ursache:
Dieser Fehler tritt auf, weil Browser Anfragen für Cross-Origin vorab prüfen Anfragen mit nicht standardmäßigen Inhaltstypen wie „multipart/form-data“ durch Senden einer OPTIONS-Anfrage. Die OPTIONS-Anfrage prüft, ob der Server bestimmte Anforderungsheader zulässt, die nicht im Standard-HTTP-Satz enthalten sind.
Erster Lösungsversuch:
Um dieses Problem zu beheben, hat der Entwickler Zunächst wurde versucht, der POST-Anfrage die folgenden Header hinzuzufügen:
"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET,POST,PUT,DELETE,OPTIONS", "Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
Folgender Fehler:
Dies führte jedoch zu einem neuen Fehler: „Request header field Access- Control-Allow-Origin ist durch Access-Control-Allow-Header nicht zulässig. Type“-Header in der Konfiguration „Access-Control-Allow-Headers“. Browser senden eine Preflight-OPTIONS-Anfrage mit dem „Content-Type“-Header, und wenn der Server dies nicht zulässt, schlägt die CORS-Anfrage fehl.
Um diesen Fehler zu beheben, sollte der Entwickler entweder Angulars Standard-„Anwendung“ überschreiben /json“-Inhaltstyp oder erlauben Sie „Content-Type“ in der Access-Control-Allow-Headers-Konfiguration des Servers.
Angular-Codebeispiel:Zum Überschreiben der Standardeinstellung Header in Angular kann der folgende Code verwendet werden:
Das obige ist der detaillierte Inhalt vonCORS-Fehler: Warum lehnt mein Server „Content-Type' in der Preflight-Anfrage ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!