Въпрос на Angular2 CORS

Нов съм в angular2 и за да бъда честен, имам много малко знания, които се опитвам да поправя, но се натъкнах на някои проблеми относно заявка между сайтове, опитвайки се да осъществя достъп до услуга от друго приложение, но имам този проблем, каквото и да опитам да направя

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.

Това е моята услуга angular2 и опитах нещо подобно

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

и това е моят компонент

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

Търсих решение на моя проблем, но все още не можах да намеря такова, което отговаря на нуждите ми.

https://stackoverflow.com/questions/35155752/angular-2-http-request-with-access-control-allow-origin-set-to

Но най-важното, това проблем с angular2 ли е, който трябва да разреша? Или всъщност, както прочетох, това трябваше да бъде обработено от екипа, който разкрива API?
Благодаря на всички.


person Remus    schedule 23.09.2016    source източник


Отговори (2)


Опитвате се да направите заявка в друг домейн, това е, което не можете да разрешите тук. опитайте да направите заявка на вашия защитен код, това ще разреши проблема ви.

person Bharat    schedule 23.09.2016
comment
да, знам, работи, но не както трябва, което означава, че нямам представа как другият екип е направил услугата, но съдържанието не е наред. Представете си йерархия, в която някои потребители могат да преглеждат профила на други потребители, ако не мога, трябва да получа 200, защото дори и да не съм упълномощен, заявката е успешна, но съдържанието трябва да е различно, в моя случай това не е проблемът получавам 200 и винаги едно и също съдържание, независимо дали имам достъп или не до някои профили. - person Remus; 23.09.2016

Трябва да активирате CORS на вашия API бекенд. Само за целите на тестване можете да използвате това разширение за Chrome, за да симулирате CORS на вашия API бекенд:

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

person Elio Salvatore    schedule 23.09.2016