Heim  >  Artikel  >  Web-Frontend  >  CORS-Fehler: Warum lehnt mein Server „Content-Type“ in der Preflight-Anfrage ab?

CORS-Fehler: Warum lehnt mein Server „Content-Type“ in der Preflight-Anfrage ab?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 14:21:02446Durchsuche

CORS Error: Why Does My Server Reject

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn