CORS(跨域资源共享)是服务器说“我会接受你的请求,即使你来自不同的来源”的一种方式。这需要服务器的合作——所以如果您不能修改服务器(例如,如果您使用外部 API),这种方法将不起作用。
修改服务器以添加标头 Access-Control-Allow-Origin: * 以启用来自任何地方的跨域请求(或指定域而不是 *)。
或者,插件可以使用 HTTP,但不能使用最新的 httpClient。此外,在服务器上配置 CORS 响应标头并不是一个真正的选择。因此,我创建了一个 proxy.conf.json 文件来充当代理服务器。
proxy.conf.json
文件:
"/posts": {
"target": "https://example.com",
"secure": true,
"pathRewrite": {
"^/posts": ""
},
"changeOrigin": true
}
}
我将文件放在同一目录中proxy.conf.json
的文件旁边。package.json
然后我修改了package.json
文件中的启动命令:
"start": "ng serve --proxy-config proxy.conf.json"
来自我的应用组件的 HTTP 调用:
return this._http.get('/posts/pictures?method=GetPictures')
.subscribe((returnedStuff) => {
console.log(returnedStuff);
});
最后要运行我的应用程序,我必须使用npm start or ng serve --proxy-config proxy.conf.json
你可以在这里阅读更多。
希望能帮助到你。