My Angular 2 Service вызывает и внешний api, но я получаю сообщение об ошибке в консоли браузера. Я попытался добавить заголовки в метод Get, но ошибка сохраняется.Angular 2 Http Get Request header issue
служба
import { Injectable } from '@angular/core';
import { Http,Headers } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class CompetitionService{
constructor(private http:Http){
}
getCompetitions(){
let headers = new Headers();
headers.append('Access-Control-Allow-Credentials', 'true');
headers.append('Access-Control-Allow-Methods', 'GET');
headers.append('Access-Control-Allow-Origin', '*');
return this.http.get('http://api.football-data.org/v1/competitions',{headers:headers}).map(response => response.json())
}
}
журнала консоли Перед Заголовок
XMLHttpRequest не может загрузить http://api.football-data.org/v1/competitions. Нет Заголовок «Access-Control-Allow-Origin» присутствует на запрошенном ресурсе . Origin 'http://localhost:3000' поэтому не разрешен доступ.
После заголовка XMLHttpRequest не может загрузить http://api.football-data.org/v1/competitions. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Origin 'http://localhost:3000', следовательно, не допускается.
заголовки 'Access-Control' должны быть настроены на стороне сервера, а не на клиенте. Это проблема cors –
Как мы можем обойти это? –
зависит от того, какой тип бэкэнд вы используете .. вам придется установить эти заголовки. https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS –