最近我遇到以下错误:
从源“ 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>;
}
}