저는 앵귤러 2로 작성한 웹 페이지를 가지고 있으며 그 끝 부분에 양식이 내 Java 서버로 전송되어야합니다. 하지만 보낼 수 없습니다. 오류가 발생합니다. 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.
'Access-Control-Allow-Origin'오류가 있습니다.
Access-Control-Allow
헤더를 보내도록 이미 서버를 변경했습니다. 이 함수는 다음과 같이이다 : 나는 또한 페이지 요청에 헤더 'Access-Control-Request-Method': 'POST'
를 추가하는 것을 시도했다,하지만 난 여전히 오류가
public static Response buildResponse(int status, Object reponseObject, MediaType mediaType) {
Response.ResponseBuilder rb = Response.status(status).entity(reponseObject);
if (mediaType != null) {
rb = rb.type(mediaType);
}
rb = rb.header("Access-Control-Allow-Origin", "*");
rb = rb.header("Access-Control-Allow-Methods", "GET, POST, PATCH, PUT, DELETE, OPTIONS");
rb = rb.header("Access-Control-Allow-Headers", "Origin, Content-Type, X-Auth-Token, accept");
rb = rb.header("Access-Control-Allow-Credentials", true);
System.out.println("teste");
return rb.build();
}
. 크롬의 CORS 플러그인을 설치하고 활성화해도 문제가 없지만 사용자에게 플러그인을 설치하도록 요청할 수는 없습니다. 아무도 내가 누락 된 걸 압니까? 내가 언젠가는 궁지에 빠져 있었고 내가 찾은 유일한 해결책은이 브라우저 보안을 사용하지 않고 (사용자에게 요청할 수 없다) 요청에 헤더를 추가하는 것이었다.