Nach dem Ausführen der Schnellstart von Angular 2 App habe ich versucht, einen Post zu einem Rest Web-Service in einem anderen Server, der Tomcat ist. Ich habe eine OPTIONS-Methode hinzugefügt, um alle Ursprünge zuzulassen. Nach der Rückkehr von der Methode getOptions() wird die Methode getTestResponse aufgerufen und eine ClientAbortException tritt ein .ClientAbortException bei der Ausführung von angular 2 post in tomcat
Beispielcode:
return this._http.post(url, body, options)
.map(res => res.json());
Web Service-Code:
@OPTIONS
@Path("samplePath")
public Response getOptions() {
return Response.ok()
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT")
.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding")
.build();
}
@POST
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public TestResponse getTestResponse(TestRequest testRequest) {
//somehow get response from database
//
}
Haben Sie eine Ahnung, warum diese Ausnahme auftreten könnten?
Haben Sie Fehler in der Browserkonsole? –
Nein, nur dieser Post ist fehlgeschlagen, mit unterstehender Warnung Ursprungsübergreifende Anforderung blockiert: Die gleiche Ursprungsrichtlinie erlaubt das Lesen der fernen Ressource unter http: // localhost: 8080/... (Grund: CORS-Header 'Access-Control-Allow -Origin fehlt). – Kith