CORS-Fehler: „Anfragen werden nur für Protokollschemata unterstützt: http...“ Erklärung und Lösung
Wenn eine HTTP-Anfrage gestellt wird Über verschiedene Ursprünge hinweg kann es aufgrund des Cross-Origin Resource Sharing (CORS)-Mechanismus vom Browser blockiert werden. Diese Einschränkung verhindert den unbefugten Zugriff auf Ressourcen von anderen Quellen als der Site, die die Anfrage stellt.
Im gegebenen Szenario versucht ein Angular-Dienst, eine JSON-Antwort von einem Express-Backend abzurufen, das auf localhost:4201/ticker ausgeführt wird. Die Anfrage schlägt jedoch mit der Fehlermeldung fehl: „XMLHttpRequest kann localhost:4201/ticker nicht laden. Cross-Origin-Anfragen werden nur für Protokollschemata unterstützt: http, data, chrome, chrome-extension, https.“
Trotzdem Beim Versuch, die CORS-Verarbeitung mithilfe des CORS-Moduls im Express-Server zu implementieren, bleibt der Fehler bestehen. Die bereitgestellten Codeausschnitte zeigen, dass die im Angular-Dienst verwendete URL das Protokollschema nicht angibt, was den CORS-Fehler verursacht.
Um dieses Problem zu beheben, sollte die URL im Angular-Dienst aktualisiert werden, um Folgendes einzuschließen http:// Protokollschema. Durch das Hinzufügen von „http://“ zur URL wird die Anfrage korrekt als HTTP-Anfrage interpretiert und kann die CORS-Validierung bestehen.
Der korrigierte Codeabschnitt im Angular-Dienst:
this._baseUrl = 'http://localhost:4201/';
Sobald diese Änderung vorgenommen wurde, sollte der Angular-Dienst in der Lage sein, die Anfrage erfolgreich an das Express-Backend zu stellen und die JSON-Antwort abzurufen, ohne dass der CORS-Fehler auftritt.
Das obige ist der detaillierte Inhalt vonWarum erhält mein Angular-Dienst einen CORS-Fehler: „Anfragen werden nur für Protokollschemata unterstützt: http...' und wie kann ich ihn beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!