내가 내 브라우저에서 내 서블릿에 요청을 만들고있어이 오류 메시지가 받고 있어요 : 프리 플라이트 요청 '아무튼CORS : 현재 없음 '액세스 제어 - 허용 - 원산지'헤더
응답을 패스 액세스 제어 검사 : 요청 된 리소스에 'Access-Control-Allow-Origin'헤더가 없습니다. 따라서 원점 'http://localhost:3000'은 액세스 할 수 없습니다. 응답에 HTTP 상태 코드 405가있었습니다. 불투명 한 응답이 사용자의 요구를 충족시키는 경우 CORS가 비활성화 된 상태에서 자원을 페치하려면 요청 모드를 'no-cors'로 설정하십시오. 내 서버에
나는이 필터 만들었습니다
@Provider
public class CORSFilter implements ContainerResponseFilter
{
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException
{
responseContext.getHeaders().add("Access-Control-Allow-Origin", "*");
responseContext.getHeaders().add("Access-Control-Allow-Headers", "origin, content-type, accept, authorization");
responseContext.getHeaders().add("Access-Control-Allow-Credentials", "true");
responseContext.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
responseContext.getHeaders().add("Access-Control-Max-Age", "1209600");
}
}
을 그리고 이것은 내 타이프 라이터 코드 :
var oHeaders = {
'Accept': 'text/html,application/xhtml+xml,application/xml,application/json;odata.metadata=minimal',
"Odata-Version": "4.0",
"Odata-MaxVersion": "4.0",
"Prefer": "odata.allow-entityreferences"
};
var metadataRequest =
{
headers: oHeaders,
requestUri: "http://localhost:8080/olingo/odata/$metadata",
data: null
};
this.odata$ = Observable.create(o =>
oData.read(
metadataRequest,
(data, response) => {
o.next({ data, response });
o.complete();
},
(error) => o.error(error),
null
)
);
어떤 아이디어?