Heim >Web-Frontend >js-Tutorial >Warum schlägt meine AJAX-Anfrage von „file://'-URLs mit „Origin Null Not Allowed by Access-Control-Allow-Origin' fehl?
Problem „Origin Null durch Access-Control-Allow-Origin nicht zulässig“ für Anfragen von File://-URLs
Einführung:
Beim Ausführen einer AJAX-Anfrage an eine andere Domäne als eine Datei://-URL können Entwickler auf ein Problem stoßen Fehler im Zusammenhang mit „Origin null ist von Access-Control-Allow-Origin nicht zulässig.“ Dieses Problem entsteht durch eine Sicherheitsmaßnahme namens Cross-Origin Resource Sharing (CORS), die domänenübergreifende Anfragen einschränkt.
Das Problem:
AJAX-Anfragen aus file://-URLs haben einen Nullursprung, was von CORS nicht zugelassen wird. Der Browser blockiert diese Anfragen, um unbefugten Zugriff auf Ressourcen über verschiedene Domänen hinweg zu verhindern.
Lösung:
Um dieses Problem zu beheben, können zwei Hauptmethoden eingesetzt werden:
Verwenden Sie eine JSONP-Anfrage:
JSONP (JSON mit Padding) ist eine Technik, die domänenübergreifende Anfragen ermöglicht, indem die Antwort in eine Rückruffunktion eingeschlossen wird. Durch Angabe eines Callback-Funktionsnamens in der URL kann der Browser die Antwort als Funktionsaufruf und nicht als AJAX-Anfrage interpretieren. So verwenden Sie JSONP:
Beispiel:
$.get(url, { callback: 'myCallback' }, function(data) { // Handle the response data });
Test mit einer HTTP-URL:
CORS-Einschränkungen gelten nicht Wird bei Anfragen von http://-URLs durchgesetzt. Daher kann das Problem des Nullursprungs umgangen werden, indem die Anforderung von einer http://-URL getestet wird. Dieser Ansatz ist nützlich zum Debuggen und Überprüfen der serverseitigen CORS-Konfiguration.
Tipps zur Fehlerbehebung:
Das obige ist der detaillierte Inhalt vonWarum schlägt meine AJAX-Anfrage von „file://'-URLs mit „Origin Null Not Allowed by Access-Control-Allow-Origin' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!