Heim >Web-Frontend >js-Tutorial >Warum erhalte ich bei meiner AJAX-Anfrage von „file://'-URLs den Fehler „Origin null ist durch Access-Control-Allow-Origin nicht zulässig'?

Warum erhalte ich bei meiner AJAX-Anfrage von „file://'-URLs den Fehler „Origin null ist durch Access-Control-Allow-Origin nicht zulässig'?

Linda Hamilton
Linda HamiltonOriginal
2024-12-23 05:30:25586Durchsuche

Why Does My AJAX Request from `file://` URLs Get an

Fehler „Origin null ist durch Access-Control-Allow-Origin nicht zulässig“ für Anfragen von file://-URLs

Problem: Entwickler stoßen auf ein Problem, wenn sie Anfragen über die AJAX-Unterstützung von jQuery von einer file://-URL an Panoramio senden. Der Fehler „Origin null ist von Access-Control-Allow-Origin nicht zulässig“ wird in der Konsole angezeigt.

Ursachenanalyse:

  • Falscher Anforderungstyp: Die GET-Anfrage sollte den Datentyp „jsonp“ verwenden oder „callback=?“ enthalten. in der URL, um JSONP zu aktivieren, was für domänenübergreifende Anfragen erforderlich ist.
  • CORS-Einschränkungen für file://-URLs:Cross-Origin Resource Sharing (CORS)-Header können keine Anfragen von autorisieren file:// URLs mit einem Null-Origin-Header durch das Echo-Back Mechanismus.

Lösung:

Um das Problem zu beheben, sind die folgenden Schritte erforderlich:

  1. Verwenden Sie JSONP Anfrage: Verwenden Sie $.getJSON oder setzen Sie den dataType auf „jsonp“, damit $.get JSONP auslöst, was Ändert den Anforderungstyp in „jsonp“, wenn „callback=?“ ist in der URL vorhanden.
  2. Vermeiden Sie file://-URLs: Stellen Sie sicher, dass Tests über http://-URLs durchgeführt werden, da file://-URLs eingeschränkte CORS-Unterstützung bieten.

Anleitung zur Fehlerbehebung:

  1. JSONP überprüfen Verwendung: Stellen Sie sicher, dass für $.get dataType auf jsonp gesetzt ist oder dass $.getJSON mit „callback=?“ verwendet wird. in der URL.
  2. CORS für domänenübergreifende Anfragen: Testen Sie über http://, um CORS-Einschränkungen für file://-URLs zu vermeiden. Bestätigen Sie, dass der Browser CORS unterstützt, da Opera und Internet Explorer die Implementierung verzögert haben.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei meiner AJAX-Anfrage von „file://'-URLs den Fehler „Origin null ist durch Access-Control-Allow-Origin nicht zulässig'?. 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