Ich verwende AWS API Gateway mit einem Java Lambda Backend. Alles ist schön, bis ein Freund mit Angular 4 versucht, Anfragen zu stellen. Er wird immer:CORS AWS mit Lambda (JAVA)
Cross-Origin-Anforderung blockiert: Die Same Origin Policy nicht zulässt die Remote-Ressource unter der URL zu lesen (Grund: CORS-Header 'Access-Control-Allow-Origin' fehlt).
Ich habe CORS über das Gateway aktiviert:
dies trotz der Fehler bleibt. Was soll ich ändern?
Danke.
Ians Kommentare: Ich benutze Output/Input Streams also meine Ausgabe, wie ich Ihren Kommentar versuche ich unten, aber immer noch keinen Erfolg. Irgendwelche Ideen ?
private void sendResponse(JSONObject body, int statusCode, OutputStream outputStream)
{
OutputStreamWriter writer;
JSONObject responseJson = new JSONObject();
JSONObject responseHeadersJson = new JSONObject();
responseHeadersJson.put("Access-Control-Allow-Origin","*");
responseHeadersJson.put("Access-Control-Allow-Headers","Content-Type");
responseJson.put("headers",responseHeadersJson);
responseJson.put("statusCode", statusCode);
responseJson.put("body", body.toJSONString());
try {
writer = new OutputStreamWriter(outputStream, "UTF-8");
writer.write(responseJson.toJSONString());
writer.close();
} catch (IOException e) {
System.out.println("Outputstream Error "+e);
}}
Können Sie überprüfen, ob der Header 'Access-Control-Allow-Origin' existiert und genau dem entspricht, den Sie gesetzt haben: '*'? Ich glaube, Sie sollten dies mit https://www.getpostman.com/ –
testen können auch nur in der Chrome-Netzwerk-Panel einchecken oder eine Curl-Anfrage und sehen Sie die Antwort-Header für die Anfrage. Auch dies ist nicht winkelspezifisch. Es ist ein Problem mit JS, das einen AJAX-Aufruf in einem Browser über Domänen hinweg durchführt. Der Browser führt die OPTIONS-Anfrage automatisch vor einer POST- oder GET-Anfrage aus, um die Header-Informationen zu erhalten, wenn er keine Kreuzursprung-Header hat gesetzt, dann wird die Anfrage abgelehnt. https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy – shaunhusain