Cross-Origin-Anfragen für lokale Dateien: Beheben von domänenübergreifenden Fehlern
AJAX-Anfragen zielen darauf ab, Daten asynchron zu senden und zu empfangen, ohne das Web neu zu laden Seite. Wenn Sie jedoch versuchen, über AJAX auf lokale Dateien zuzugreifen, tritt möglicherweise die Fehlermeldung auf: „Cross-Origin-Anfragen werden nur für HTTP unterstützt.“
Verstehen des Problems
Dies Der Fehler wird angezeigt, weil Browser eine Sicherheitsrichtlinie erzwingen, die verhindert, dass Websites auf Ressourcen von anderen Domänen zugreifen. In diesem Fall versucht die AJAX-Anfrage, auf eine lokale PHP-Datei (file:///) zuzugreifen, die nicht als HTTP-Ressource betrachtet wird.
Lösung des Problems
Um dieses Problem zu beheben, kann die folgende Lösung implementiert werden:
Verwendung der Befehlszeile Schalter
1. macOS:
<code class="sh">open -a 'Google Chrome' --args -allow-file-access-from-files</code>
2. Linux:
<code class="sh">google-chrome --allow-file-access-from-files</code>
3. Windows:
Beispiel:
<code class="sh">C:\ ... \Application\chrome.exe --allow-file-access-from-files</code>
Zusätzlicher Hinweis:
Diese Lösung deaktiviert effektiv die Cross-Origin-Sicherheitsrichtlinie für die spezifische Chrome-Instanz, sodass Sie AJAX-Anfragen an lokale Dateien stellen können. Es ist jedoch wichtig zu beachten, dass die Erteilung dieser Erlaubnis in bestimmten Situationen möglicherweise Sicherheitsrisiken birgt. Gehen Sie mit dieser Problemumgehung vorsichtig vor.
Das obige ist der detaillierte Inhalt vonWarum kann AJAX nicht auf lokale Dateien zugreifen und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!