Keine Access-Control-Allow-Origin für Winkel-cli "localhost:4200"
Ich habe ein problem mit CORS und die benötigten Header.
Setup
Ich betreibe eine eckige Projekt-und angular-cli (localhost:4200) ich möchte Zugriff über einen HTTP-Request ein JSON von einem WebService. Wenn ich über die URL direkt in den browser alles in Ordnung ist und das JSON-angezeigt bekommt. Sobald ich senden Sie die Anfrage aus meinem angular-app bekomme ich die folgende Fehlermeldung:
XMLHttpRequest cannot load http://t00-holcim:8888/deliveries?fields=liefer_nr,dispo_nr,lieferscheinsta…r,empfaenger_nr,bestellinfo1,bemerkung&limit=3&deliveryNoteDate=2017-04-27. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 403.
Hier ist der Programm-code:
.......
const headers = new Headers();
headers.append('Content-Type', 'application/json; charset=utf-8'); headers.append('Access-Control-Allow-Origin', '*');
const options = new RequestOptions({ method: RequestMethod.Post, headers: headers });
this.http.get(this.buildURLString(), options).map(this.extractData)
.subscribe((data) => {........}
Habe im Netz gesucht und ich fand, dass die Fehler im Zusammenhang mit der CORS. Deshalb habe ich "anfügen", um die header.append('Access-Control-Allow-Origin', '*'); aber das hilft nicht.
Ich bekam Erweiterung CORS für Chrome und aktivieren Sie die "Enable cross origin resource sharing" aber es hat nicht geholfen.
Ist dies eine änderung der Konfiguration auf der server-Seite oder client-Seite.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wir haben die Lösung gefunden. Wie wir mit der RESTFul-Server von SpringBoot, auf diesem server haben wir das "'
Access-Control-Allow-Origin', '*'
" und es hat funktioniert..Ich dachte immer, weil er sagt "preflight", dass diese gelöst werden müssen auf der client-Seite und nicht auf der server-Seite.
Hoffe, das hilft niemandem.
Es ist ein Serverseitiges Problem. Welche Sprache verwenden Sie für Ihre server?
Wenn du mit JS die unten block kümmert sich um CORS-Problem.