저는 angular2를 처음 사용하고 있습니다. 문제를 해결하려고하는 지식이 거의 없지만 다른 사이트에서 서비스에 액세스하려고 시도했지만 크로스 사이트 요청에 관한 문제가 발생했습니다. 이건 내 angular2 서비스이며, 나는이Angular2 CORS 발행물
getUserHrtbProfile(userId): Promise<any> {
const headers = new Headers();
headers.append('Access-Control-Allow-Headers', 'Content-Type');
headers.append('Access-Control-Allow-Methods', 'GET, PUT, POST, DELET');
headers.append('Access-Control-Allow-Origin', '*');
var apiUri: string = "https://hrtb/Team/EditEmployeeInfo.aspx?emplid={0}&Menu=InfoEmployee&T=0".replace("{0}", userId);
return this.http.get(apiUri, headers).map(result => result.json()).toPromise();
}
같은 것을 시도했습니다 내가
XMLHttpRequest cannot load https://hr/Team/EditEmployeeInfo.aspx. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:54396' is therefore not allowed access. The response had HTTP status code 401.
을하려고 무엇이든이 문제를 가지고이 내 구성 요소입니다
this.bannerService.getUserHrtbProfile(this.userId).then(hrtbJson => {
this.hasHrtbAccess = hrtbJson.HasHrtbAccess;
this.hrtbProfileUrl = hrtbJson.HrtbProfileUrl;
}).catch(err => {
this.hasHrtbAccess = false;
});
,
내 문제에 대한 해결책을 찾았지만 아직도 내 필요에 맞는 해결책을 찾지 못했습니다.
Angular 2 http request with Access-Control-Allow-Origin set to *
그러나 가장 중요한, 이것은 내가 해결해야 할 angular2 문제? 또는 사실 내가 읽은대로 API를 제공하는 팀이 처리해야합니다.
감사합니다.
그래 내가 알고, 그것을 작동하지만 : 에만 목적을 테스트하기 위해 당신은 당신의 API를 백엔드에 CORS를 시뮬레이션이 크롬 확장을 사용할 수 있습니다 서비스하지만 내용이 좋지 않습니다. 어떤 사용자가 다른 사용자 프로필을 볼 수있는 계층 구조를 상상해보십시오. 200을받지 못하면 요청이 성공하지만 콘텐츠가 달라야합니다. 내 경우에는이 문제가 아닙니다. 액세스 권한이 있든 없든 상관없이 동일한 내용을 200 개나 항상 얻을 수 있습니다. – Remus