XMLHttpRequest Cross-Origin-Fehler
Beim Versuch, AJAX-Anfragen von einem lokalen Webserver auszuführen, kann es sein, dass Entwickler auf den Fehler „Cross-Origin-Anfragen“ stoßen werden nur für HTTP unterstützt.“ Dieser Fehler tritt auf, obwohl die Anfrage nicht domänenübergreifend ist.
Ursache
Dieser Fehler wird durch die Sicherheitsrichtlinie des Browsers ausgelöst, die die ursprungsübergreifende Kommunikation zwischen verschiedenen Domänen einschränkt und Protokolle aus Sicherheitsgründen. In diesem Fall wird die Anfrage jedoch von einem lokalen Server an eine lokale Ressource gestellt, sodass sie im Wesentlichen denselben Ursprung hat.
Lösung
Um dieses Problem zu beheben , Chrome-Nutzer können den Browser mit folgendem Schalter starten:
--allow-file-access-from-files
MacOS
<code class="pre">open -a 'Google Chrome' --args -allow-file-access-from-files</code>
Linux
<code class="pre">google-chrome --allow-file-access-from-files</code>
Windows
Fügen Sie den Schalter am Ende des „Ziel“-Pfads in den Eigenschaften der Chrome-Verknüpfung hinzu:
<code class="pre">C:\ ... \Application\chrome.exe --allow-file-access-from-files</code>
Durch Aktivieren dieses Schalters Chrome ermöglicht AJAX-Anfragen den Zugriff auf lokale Dateien und Ressourcen und behebt den Fehler „Herkunftsübergreifende Anfragen werden nur für HTTP unterstützt, sind aber nicht domänenübergreifend.“
Das obige ist der detaillierte Inhalt vonWarum gibt meine lokale AJAX-Anfrage den Fehler „Cross-Origin-Anfragen werden nur für HTTP unterstützt' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!