Warum „Auf der angeforderten Ressource ist kein Access-Control-Allow-Origin-Header vorhanden“
Das Problem tritt auf, wenn ein Browser eine Cross-Origin-Anfrage stellt (CORS ) sendet der Browser zunächst eine Preflight-Anfrage an den Server, um zu prüfen, ob der Server CORS unterstützt und wenn ja, welche Methoden, Header und Ursprünge zulässig sind.
Der Server sollte auf die Preflight-Anfrage mit antworten entsprechende CORS-Header. Wenn der Server nicht mit den erforderlichen Headern antwortet, blockiert der Browser die eigentliche Anfrage.
In diesem Fall antwortet der Server nicht mit dem Access-Control-Allow-Origin-Header, der dem Browser dies mitteilt Der Ursprung darf auf die Ressource zugreifen.
So beheben Sie das Problem
Es gibt mehrere Möglichkeiten, dieses Problem zu beheben:
- Fügen Sie die Zugriffskontrolle hinzu. Allow-Origin-Header für die Antwort der Preflight-Anfrage. Dies kann mithilfe der Middleware im Code erfolgen.
- Setzen Sie den Access-Control-Allow-Origin-Header auf „*“, um alle Ursprünge zuzulassen. Dies wird jedoch aus Sicherheitsgründen nicht empfohlen.
- Verwenden Sie einen Reverse-Proxy, der den Access-Control-Allow-Origin-Header zur Antwort hinzufügen kann.
Zusätzliche Hinweise
- Der Access-Control-Allow-Origin-Header kann auch für bestimmte Ursprünge festgelegt werden. Um beispielsweise Anfragen von https://example.com zuzulassen, können Sie den Header auf Access-Control-Allow-Origin setzen: https://example.com.
- Der Access-Control-Allow- Der Origin-Header ist nur für Cross-Origin-Anfragen erforderlich. Wenn die Anfrage vom selben Ursprung stammt, sendet der Browser keine Preflight-Anfrage und der Server muss nicht mit dem Access-Control-Allow-Origin-Header antworten.
Das obige ist der detaillierte Inhalt vonWarum wird mir der Fehler „Kein Access-Control-Allow-Origin-Header“ angezeigt?. 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