Heim >Web-Frontend >js-Tutorial >Warum erhalte ich einen CORS-Fehler, wenn ich lokale HTML-Dateien in meinen Browser lade?

Warum erhalte ich einen CORS-Fehler, wenn ich lokale HTML-Dateien in meinen Browser lade?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-13 17:44:12793Durchsuche

Why Do I Get a CORS Error When Loading Local HTML Files in My Browser?

Lokale Ressourcen in HTML laden: CORS-Fehler

Beim Laden lokaler HTML-Dateien kann der Fehler „Origin null ist nicht zulässig“ auftreten Zugriffskontrolle-Zulassen-Ursprung.“ Dies liegt an der Same-Origin-Richtlinie (SOP), die in den meisten Browsern implementiert ist.

Die SOP schränkt den ursprungsübergreifenden Zugriff ein, um die Daten und die Privatsphäre der Benutzer zu schützen. In diesem Fall wird das lokale Dateisystem als vom Browser getrennter „Ursprung“ betrachtet und das direkte Laden von Dateien daraus ist verboten.

Fehlerursache

Im bereitgestellten Code versuchen Sie, die Datei „weather.xsl“ in ein

zu laden. mit der Methode „load()“ von jQuery. Da es sich bei „weather.xsl“ jedoch um eine lokale Datei handelt, verhindert die SOP, dass der Browser darauf zugreift.

Lösung

Leider direktes Laden lokaler Ressourcen über AJAX Anfragen sind aufgrund der SOP nicht zulässig. Ziehen Sie stattdessen die folgenden Lösungen in Betracht:

  • Installieren Sie einen lokalen Webserver:Installieren Sie einen Webserver wie Apache oder Nginx und hosten Sie die HTML-Datei auf einem lokalen Server. Dadurch erhalten Sie eine URL für den Zugriff auf die Datei über HTTP, und die SOP wird nicht angewendet.
  • Verwenden Sie eine Chrome-Erweiterung: Es gibt Chrome-Erweiterungen wie „CORS zulassen: Zugriffskontrolle- Allow-Origin“, mit dem die SOP für lokale Dateien vorübergehend deaktiviert werden kann, sodass Sie die HTML-Ausgabe in die laden können
    .
  • Verwenden Sie einen Daten-URI: Konvertieren Sie die HTML-Ausgabe von „weather.xsl“ in einen Daten-URI und betten Sie ihn direkt in die HTML-Seite ein. Dadurch wird vermieden, dass die Datei von einem anderen Ursprung geladen wird.

Hinweis:

Es ist wichtig zu bedenken, dass diese Problemumgehungen möglicherweise nicht für alle Szenarien geeignet sind und dies auch sein sollten Wird nur zu Testzwecken verwendet. Für Produktionsumgebungen ist die Bereitstellung von Dateien auf einem Webserver der empfohlene Ansatz.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich einen CORS-Fehler, wenn ich lokale HTML-Dateien in meinen Browser lade?. 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