Beim Versuch, Dateien über eine POST-Anfrage zu senden, kann es sein, dass Entwickler auf den Fehler stoßen: „ Der Inhaltstyp des Anforderungsheaderfelds ist durch Access-Control-Allow-Headers nicht zulässig. Dieser Fehler weist darauf hin, dass der Server das angegebene Header-Feld nicht zulässt.
Der erste Versuch, diesen Fehler durch Hinzufügen verschiedener Header zu beheben, darunter „Access-Control-Allow-Origin“ und „Access-Control-Allow- Methoden“ führte zu einem neuen Fehler: „Das Anforderungsheaderfeld Access-Control-Allow-Origin ist von Access-Control-Allow-Headers nicht zulässig.“
Bei weiteren Untersuchungen wurde festgestellt, dass in der jQuery-Dokumentation eine Warnung angezeigt wird dagegen, den Inhaltstyp für domänenübergreifende Anforderungen auf etwas anderes als „application/x-www-form-urlencoded“, „multipart/form-data“ oder „text/plain“ festzulegen. Der Standardinhaltstyp von Angular ist „application/json“, was eine Preflight-OPTIONS-Anfrage an den Server auslöst.
Um dieses Problem zu beheben, können Sie entweder den Standardheader von Angular überschreiben oder Access-Control-Allow-Header auf dem zulassen Serverende. Hier ist ein Beispiel für das Überschreiben des Standardheaders von Angular:
$http.post(url, data, { headers : { 'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8' } });
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Anfrage-Header-Felder nicht zulässig' bei Cross-Origin-Dateiübertragungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!