最近、次のエラーが発生しました。
オリジン ' http://localhost:4200 ' から 'localhost:8080/api/xyz' にある XMLHttpRequest へのアクセスが CORS ポリシーによってブロックされました: クロス オリジン リクエストは、プロトコル スキームでのみサポートされます: http、data、chrome、chrome-extension 、https。
Angular はこれに対する簡単な解決策を提供していますが、それを見つけるのに十分な時間がかかりました。Angularのドキュメントでも、SOで簡単なことは何も見つかりませんでした。
明らかに、このエラーは Angular とはまったく関係ありません。ほとんどすべての開発者がこのエラーに遭遇することがあると思います。重要なことを続けられるように、簡単な解決策を共有したいと思います。
まず私のセットアップ: Angular 7、およびHttpClient
( doc )の使用
私は小さなサービスを作成しました:
export class HelloServerService {
private readonly rootApi: string = 'http://localhost:8080/api/';
constructor(@Inject(HttpClient) private readonly http: HttpClient) {
}
public getHelloWorld(name: string): Observable<string> {
return this.http.get(this.rootApi + name, {responseType: 'text', params: {}}) as Observable<string>;
}
}