Heim  >  Artikel  >  Web-Frontend  >  Wie behebe ich den Fehler „Origin is Not Allowed by Access-Control-Allow-Origin“?

Wie behebe ich den Fehler „Origin is Not Allowed by Access-Control-Allow-Origin“?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-19 09:36:29676Durchsuche

How to Resolve the

Verstehen des Fehlers „Origin is Not Allowed by Access-Control-Allow-Origin“

Beim Versuch, über verschiedene Ursprünge hinweg auf Ressourcen zuzugreifen ( B. Domänen, Ports), kann der Fehler „Origin ist durch Access-Control-Allow-Origin nicht zulässig“ auftreten. Dieser Fehler ist auf die Same-Origin-Richtlinie des Browsers zurückzuführen, die aus Sicherheitsgründen Cross-Origin-Anfragen einschränkt.

In Ihrem speziellen Fall ist die Anfrage von localhost:8080 für den Cross-Origin-Zugriff durch das Server-Hosting nicht zulässig gdata.youtube.com. Das Code-Snippet versucht, eine XMLHttpRequest an den Server zu senden, aber der Access-Control-Allow-Origin-Header des Servers ist nicht so eingestellt, dass er Anfragen von Ihrem Ursprung zulässt.

Fehlerursachen:

  • Nicht übereinstimmende Ursprünge: Cross-Origin-Anfragen sind nur zulässig, wenn die Ursprünge identisch sind (z. B. http://example.com fordert von http://example.com an).
  • Port-Unterschiede: Unterschiedliche Ports (z. B. example.com:80, die von example.com:81 anfragt) gelten als unterschiedliche Ursprünge.
  • CORS-Header nicht festgelegt: Der Server muss Access-Control-Allow explizit festlegen -Origin-Header mit den zulässigen Ursprüngen, um ursprungsübergreifende Anfragen zu ermöglichen.

Lösungen:

Um diesen Fehler zu beheben, ziehen Sie die folgenden Lösungen in Betracht:

  • CORS auf dem Server konfigurieren: Der Server muss den Access-Control-Allow-Origin-Header mit dem zulässigen Ursprung festlegen (z. B. Access-Control-Allow-Origin: http:// localhost:8080).
  • JSONP verwenden: JSONP (JSON mit Padding) ist eine Technik, die eine Rückruffunktion verwendet, um ursprungsübergreifende Anforderungen zu verarbeiten. Der Server gibt in der Rückruffunktion gekapselte Daten zurück, sodass Browser sie ausführen können.
  • Verwenden Sie einen serverseitigen Proxy: Ein serverseitiger Proxy (z. B. PHP, ASP) kann als fungieren ein Vermittler zwischen dem Browser und dem Remote-Server. Der Proxy stellt die Anfrage an den Remote-Server und verarbeitet die CORS-Header, sodass der Browser auf die Daten zugreifen kann.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Origin is Not Allowed by Access-Control-Allow-Origin“?. 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