Problem mit dem CORS-Header von Localhost
Obwohl der Server mit den entsprechenden CORS-Headern konfiguriert wurde, stößt ein Benutzer auf Schwierigkeiten, localhost als Ursprung in seinem Client-Skript zu verwenden .
Serverkonfiguration
Der Server wird mit dem folgenden Header eingerichtet:
Access-Control-Allow-Origin:http://localhost
Client-Skript
Das Client-Skript verwendet das XMLHttpRequest-Objekt, um eine Anfrage an zu stellen 'http://stackoverflow.com/'.
var xhr = new XMLHttpRequest(); xhr.onload = function() { console.log('xhr loaded'); }; xhr.open('GET', 'http://stackoverflow.com/'); xhr.send();
Fehler
Die Anfrage schlägt jedoch mit dem folgenden Fehler fehl:
XMLHttpRequest cannot load http://stackoverflow.com/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
Lösung
Während die Serverkonfiguration korrekt erscheint, liegt das Problem in der Verwendung von 'localhost' als Ursprung im Client-Skript.
Chrome unterstützt localhost nicht für CORS-Anfragen aufgrund eines Fehlers, der 2014 als „WontFix“ markiert wurde.
Problemumgehung
Um dieses Problem zu vermeiden, verwenden Sie eine Domäne, die in 127.0.0.1 aufgelöst wird, z 'localho.st' oder starten Sie Chrome zu Testzwecken mit dem Flag '--disable-web-security'.
Das obige ist der detaillierte Inhalt vonWarum schlägt meine Localhost-CORS-Anfrage trotz korrekter Server-Header fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!