메신저 내 magento의 나머지 API를 사용하여 HTTP GET 요청을 얻으려고합니다.각도 2 : 프리 플라이트에 대한 응답 처리 방법이 유효하지 않은 HTTP 상태 코드 400입니다. 잘못된 요청
다음은 동일하게 달성하기위한 angular2 코드입니다.
public ngOnInit() {
let headers = new Headers({ 'Accept': 'application/json' });
headers.append('Authorization', 'Bearer x9a278mu7xoh4k0jkj08doc5j4b3ac22');
headers.append('Access-Control-Allow-Headers', 'Content-Type');
headers.append('Access-Control-Allow-Methods', 'GET');
headers.append('Access-Control-Allow-Origin', '*');
let options = new RequestOptions({ headers: headers });
return this.http.get('http://10.2.../Mage_ang2/index.php/rest/V1/customers/1',options)
.map(response => console.log(response.json))
.subscribe((items: Person[]) => {
console.log('items: ' + items);
this.people = items;
}, error => console.log(error));
}
나는 CORS 문제를 가지고 있다고 가정합니다.
옵션 http://10.2.../Mage_ang2/index.php/rest/V1/customers/1
XMLHttpRequest의은 http://10.2.../Mage_ang2/index.php/rest/V1/customers/1를로드 할 수 없습니다. 프리 플라이트에 대한 응답에 유효하지 않은 HTTP 상태 코드가 있습니다.
Google에서 해결 방법을 찾은 후 아래 단계를 시도했지만 동일하지만 실패했습니다. 젠토 htaccess로 파일에서
1)을 첨가하여 상기 각 2 코드에서
헤더 설정 액세스 제어 - 허용 - 기원 "*"
2)
추가headers.append ('Access-Control-Allow-Headers', 'Content-Type'); ...
...
3)
이내버려 헤더에 응용 프로그램/JSON 콘텐츠 형식을 변경 시도 = 새로운 헤더 ({ '동의': '응용 프로그램/JSON'});
실종 신고입니다.
CORS (magento2에서 angular2까지) 문제를 해결하려면 적절한 해결책이 필요합니다.
제안 환영! 마 젠토 글로벌 출처 간 액세스 (쇼핑 플랫폼 인 이해)주기
는
이것이 앵귤러 문제가 아니라는 것을 알 수 있습니다. 즉, 앞면에 헤더를 설정하지 않았 음을 의미합니다. 이것은 서버 측 문제입니다. – Alex