2016-09-23 4 views
2

Ich bin neu bei angular2 und um fair zu sein Ich habe sehr wenige Kenntnisse, die ich versuche zu beheben, aber ich habe einige Probleme über Cross-Site-Anfrage, versucht, einen Dienst von einer anderen Anwendung zugreifen, aber ich haben dieses Problem, was ich versuche,Angular2 CORS Ausgabe

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. 

Das ist mein angular2 Dienst zu tun und ich habe etwas versucht, wie dieses

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(); 
} 

und dies ist meine Komponente

this.bannerService.getUserHrtbProfile(this.userId).then(hrtbJson => { 
    this.hasHrtbAccess = hrtbJson.HasHrtbAccess; 
    this.hrtbProfileUrl = hrtbJson.HrtbProfileUrl; 
}).catch(err => { 
    this.hasHrtbAccess = false; 
}); 

Ich habe eine Lösung für mein Problem gesucht, konnte aber immer noch keine finden, die meinem Bedarf entspricht.

Angular 2 http request with Access-Control-Allow-Origin set to *

Aber am wichtigsten ist, ist dies ein angular2 Problem, das ich lösen müssen? Oder tatsächlich, wie ich es gelesen habe, sollte es von dem Team gehandhabt werden, das die API aufdeckt?
Danke euch allen.

Antwort

0

Sie versuchen, eine Anfrage für eine andere Domain zu stellen, dies können Sie hier nicht lösen. Versuchen Sie, eine Anfrage an Ihren Back-Code zu stellen, dies löst das Problem.

+0

ja ich weiß, es funktioniert aber nicht, wie es sollte, dass ich keine Ahnung habe, was bedeutet, wie das andere Team hat der Service aber der Inhalt ist nicht ok. Stellen Sie sich eine Hierarchie vor, in der einige Benutzer andere Benutzerprofile sehen können, wenn ich die 200 nicht erhalten kann, denn selbst wenn ich nicht autorisiert bin, ist die Anfrage erfolgreich, aber der Inhalt sollte anders sein, in meinem Fall ist das nicht das Problem bekomme 200 und immer den gleichen Inhalt, egal ob ich Zugang zu einigen Profilen habe oder nicht. – Remus