Angular 2 Typescript - 启用CORS标头'Access-Control-Allow-Origin'

时间:2017-08-24 14:53:39

标签: angular typescript cors

我的localhost上运行了Angular 2打字稿应用程序。我必须在我的应用程序中访问外部REST API。每当我尝试访问时,都会收到此错误

  

阻止跨源请求:同源策略禁止读取   ***的远程资源。 (原因:CORS标题   “Access-Control-Allow-Origin”缺失。)

解决此问题的最佳解决方案是什么?我不想使用任何插件/ addOns。 我不这么认为这个包适用于Angular 2 Typescript应用程序。它用于express.js

npm install cors --save 

如何使用typescript为整个项目/应用程序设置此CORS标头'Access-Control-Allow-Origin'?我需要在下面的代码中添加此标题?

var request = new XMLHttpRequest();
   let myurl='http://remoteIP/api';
request.open('GET', myurl, true);
request.responseType = 'blob';
request.onload = function() {
    var reader = new FileReader();
    reader.readAsDataURL(request.response);
    reader.onload = (e) => {
        console.log('DataURL:', reader.result);
    };
};
request.send();

1 个答案:

答案 0 :(得分:2)

托管该API的服务器需要启用CORS。这是客户端语言的限制 - 他们通过浏览器发出这些REST请求。浏览器会将您提供的任何模拟原始标题更改为实际网站的标题。

这不是服务器端语言的问题,例如PHP甚至nodeJS / expressJS。