Wie Sie angeben, 'Access-Control-Allow-Origin', wenn ausgeführt eckig-cli dienen
Bin ich mit einem Spring-API-server und einem Eckig-cli-server zu dienen, bis meine statische Inhalte. In der Produktion werden wir mit einem CDN, aber für die Entwicklung sowohl der front-und backend-Server läuft auf meinem lokalen Rechner auf verschiedenen ports. Die Frühjahr-server dient der ersten html-Seite und dann den rest des JS -, CSS-und html kommen aus der Win-cli/CDN.
Das problem ist, dass, wenn der Aufruf System.import() erfolgt, wird der browser beschwert sich über CORS:
XMLHttpRequest cannot load http://localhost:4200/system-config.js. Kein "Access-Control-Allow-Origin' - header vorhanden ist, auf die angeforderte Ressource. Herkunft 'http://localhost:8080' ist daher nicht der Zugriff erlaubt.
zone.js:323 Fehler: - Fehler: XHR-Fehler beim laden http://localhost:4200/system-config.js(...)
Wie Konfiguriere ich eckige-cli, um die 'Access-Control-Allow-Origin' header, damit der browser nicht kotzen.
InformationsquelleAutor wholladay | 2016-05-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konfiguration zur Unterstützung von CORS erfolgt im server, müssen Sie aktualisieren Sie Ihre Frühjahrs-API zu ermöglichen, Anfragen aus der CLI-app, die gehostet wird auf port 4200 standardmäßig.
InformationsquelleAutor Brocco
Ich tatsächlich löste dieses Problem, indem Sie die ember-cli-cors add-on. Alles, was Sie tun müssen, ist installieren Sie es mithilfe des ng-Befehl, etwa so:
ng installieren ember-cli-cors
ng serve
wissen es, nachdem es installiert ist? Fühlt sich an wie ich habe, um es zu importieren oder fügen Sie es, um system-config.ts ?Der angegebene Befehl installieren ist ungültig. Für die verfügbaren Optionen, siehe
ng help
.Der richtige Befehl sollte wohl
npm install ember-cli-cors
.InformationsquelleAutor wholladay
Können Sie ein proxy config. Es wird 'proxy', die Anfrage an die Domäne des Servers.
InformationsquelleAutor Mavlarn
FWIW,
CORS aktiviert wurde, in eckigen CLI-jetzt. Out-of-the-box, die
Access-Control-Allow-Origin
- header gesetzt ist, um*
.Nicht sicher, Wann genau es veröffentlicht wurde, aber sicher
1.0.0
und später haben es aktiviert.Als mit allen CORS Probleme, Ihre API-server müssen ebenfalls so konfiguriert werden, akzeptieren CORS.
InformationsquelleAutor Eric Liprandi
In einem sehr ähnlichen setup es stellte sich heraus, dass Chrome-basierten Browsern nicht unterstützt CORS für localhost Adressen. Sehen https://stackoverflow.com/a/10892392/661414
InformationsquelleAutor Leukipp
Ich verbrachte über 20 Stunden versucht um dieses problem zu beheben und das Lesen der zahlreichen Beiträge. Die kurze Antwort ist, ändern Sie die server-CORS Handhabung und vermeiden glassfish. Der folgende code funktioniert auf tom ee (eventuell andere), aber nicht auf glassfish.
Durch die winkelhalbierenden der code Zeile für Zeile habe ich gefunden, dass das hinzufügen der "Access-Control-Allow-Header" aufrufen, wird eine Ausnahme in glassfish resultiert in einen Internal Server Error (500). Offenbar die Ausnahme, die dort seit über einem Jahr und zeigt keine Anzeichen des seins behoben.
Ich war nie in der Lage, um die proxy-config Lösung zu arbeiten. Ich würde sehen, debugger-Nachrichten, um die Wirkung von
Scheint es, dass alle nachfolgenden Pfad oder query params abgeschnitten sind, durch den proxy-filter.
Ich hoffe das spart jemand eine Menge Zeit.
InformationsquelleAutor brtip