2017-01-07 5 views
1

Angular2를 처음 사용합니다. 새로운 Angular 애플리케이션을 만들고 Liferay 서버의 서비스를 사용해야합니다.Liferay 서버로 Angular2에서 백본으로 코어 문제를 처리하는 방법

하지만 아래 코드를 사용하여 서비스를 호출하면 Cors 오류가 발생합니다.

var headers = new Headers(); 

    headers.append('Access-Control-Allow-Origin', '*'); 
    headers.append("Content-Type", "application/x-www-form-urlencoded"); 
    let params: URLSearchParams = new URLSearchParams(); 

    this.http.get(localStorage.getItem('domainName')+'/service-name', {headers: headers}) 
     .subscribe(response => { 
      // login successful if there's a jwt token in the response 
      console.log('Response'+response.json()); 
    }); 

내 백엔드 방법은 GET이고, 나는 그것이 오류 아래주고 내 /webapps/Root/web.xml 파일

뿐만 브라우저 콘솔에서 고르 필터 속성을 추가 한 :

XMLHttpRequest의 수 없어 load http://localhost:9080/service-name. 프리 플라이트 요청에 대한 응답이 액세스 제어 검사를 통과하지 못합니다. 'Access-Control-Allow-Origin'헤더가 요청 된 자원에 없습니다. 따라서 원점 'http://localhost:4200'은 액세스 할 수 없습니다. 응답의 HTTP 상태 코드는 401입니다.

+0

또한 CORS 요청을 허용하는 서버입니까? http://stackoverflow.com/questions/12383109/access-control-allow-origin-in-tomcat – ochi

답변

0

이 오류는 백엔드의 응답에 필요한 Access-Control-Allow-Origin 헤더가 없을 때 나타납니다. 백엔드의 헤더가 올바르게 구성되었는지 다시 확인하십시오. 또한 프론트 엔드의 요청에는 Access-Control-Allow-Origin 헤더가 필요하지 않습니다.