2017-03-08 17 views
0

我试图消耗在angular2应用休息web服务(由拓蓝工作室开放的ESB工作调用),但是当我运行我的应用程序,我得到这个错误:访问控制允许来源在angular2应用

XMLHttpRequest无法加载http://localhost:8088/。否 “访问控制 - 允许来源”标题出现在请求的 资源中。原因'http://localhost:3000'因此不允许 访问。

+4

这是一个纯粹的服务器端问题。如果服务器未响应预期的'Access-Control-Allow-xxx'标头,则不应使用此API。如果请求不需要发送自定义标题,则可以使用'JsonpModule'来解决此问题。 –

+0

你应该阅读有关https://de.wikipedia.org/wiki/Cross-Origin_Resource_Sharing 本地服务器应该有访问控制允许来源集,使其他服务器能够访问它 – xhallix

+0

问题得到解决,我用talend完成的web服务必须在响应头(在浏览器控制台的网络字段中显示)中具有“Access-Control-Allow-Origin:*”。为避免此错误,我们应该添加访问权限-talend open studio中的tRESTResponse元素的标题中的-control-allow-origin属性 –

回答

0

当我有这个问题,我不能在服务器中什么都不做,我只是在我的包中使用并发和corsproxy像开发依赖项。

“同时”

“corsproxy”

这个脚本添加到包:

“开发”: “同时--kill-他人corsproxy 'NG服务-o'”

现在,你需要配置的角度项目,使请求代理,在我来说,我这一行添加到我的enviroments文件:

apiBaseUrl:“http://localhost:1337/serverUrlApi'

而在我的Http拦截器中添加这一行到我的所有请求。