Durch CORS verhinderte Fehler: „Origin ist durch Access-Control-Allow-Origin nicht zulässig“
Einführung:
Der Fehler „Ursprung ist durch Access-Control-Allow-Origin nicht zulässig“ tritt bei der ursprungsübergreifenden Ressourcenfreigabe (Cross-Origin Resource Sharing, CORS) auf, wenn ein clientseitiges Skript versucht, von einem anderen Ursprung als dem, den es ausführt, auf eine Ressource zuzugreifen von.
Ursachen:
Dieser Fehler hat mehrere mögliche Ursachen:
-
Same-Origin-Richtlinie: JavaScript ist eingeschränkt von Zugriff auf Ressourcen außerhalb seiner Domäne ohne ausdrückliche Erlaubnis des Servers. Diese Richtlinie verhindert, dass bösartige Skripte Benutzerdaten stehlen oder die Sicherheit der Website gefährden.
-
Falsch konfigurierte Serverantwort: Der Server muss den entsprechenden Access-Control-Allow-Origin-Header in seine Antwort zur Gewährung einschließen Zugang zu bestimmten Ursprüngen. Wenn dieser Header fehlt oder falsch ist, verhindert der Browser die Anfrage.
Lösung des Problems:
-
Überprüfen Sie die Serverantwort : Überprüfen Sie die Antwortheader des Servers, um sicherzustellen, dass der Access-Control-Allow-Origin-Header enthalten und auf den gewünschten Ursprung eingestellt ist.
-
Aktivieren Sie CORS auf dem Server: Wenn der Auf dem Server ist CORS nicht aktiviert. Er muss zur Unterstützung konfiguriert werden. Dies kann das Einrichten von CORS-Regeln in den Konfigurationsdateien des Webservers umfassen.
-
JSONP verwenden: JSONP (JSON mit Padding) ist eine Problemumgehung für die Same-Origin-Richtlinie, die die Rückgabe von Daten ermöglicht als Funktionsaufruf und nicht als XML-Dokument. Der Server muss jedoch für die Unterstützung von JSONP konfiguriert sein.
-
Verwenden Sie einen Proxy: Ein serverseitiger Proxy, wie z. B. ein PHP-Skript oder ein ASP-Dienst, kann verwendet werden, um Ressourcen von einem abzurufen unterschiedlichen Ursprungs und übergeben Sie sie an das clientseitige Skript.
Das obige ist der detaillierte Inhalt vonWelche Fehler verhindert CORS: „Origin is Not Allowed by Access-Control-Allow-Origin'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!