2016-09-23 48 views
2

私は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を公開しているチームによって処理されているはずです。
ありがとうございます。

答えて

0

他のドメインでリクエストしようとしていますが、ここでは解決できません。あなたにバックアップコードを要求してみてください。これで問題が解決します。

+0

はい私は知っている、それは私が他のチームがやったか分からないことを意味はなく、それが必要として動作しますサービスだが内容は大丈夫ではない。いくつかのユーザーが他のユーザーのプロファイルを見ることができる階層を想像してみてください。私は200を受け取るべきではありません。なぜなら、私は要求が成功したとしても内容は違うはずです。私がアクセス権を持っているかどうかに関わらず、200以上のコンテンツを常に取得してください。 – Remus