Angular2 / NodeJS:无法从localhost上的后端获取数据

时间:2017-02-22 08:56:46

标签: node.js angular

我在前端使用Angular 2编写了一个小型SPA应用程序。 NodeJS用于后端

我开始了后端和后端我的电脑上的前端(http://localhost:3000& http://localhost:4200

当Angular尝试从后端获取数据时会出现错误:

  

XMLHttpRequest无法加载http://localhost:3000/mailboxes。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:4200”访问。

     

EXCEPTION:未捕获(承诺):0 - {“isTrusted”:true}   ...

如何使这项工作?

1 个答案:

答案 0 :(得分:1)

您的服务和客户端在两个不同的端口上运行,因此就您的服务而言,此请求来自外国位置。 因此,您需要让服务方知道您允许此请求。

为此,您需要在服务上启用跨源资源共享 https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

这是一个非常容易使用的npm cors库的链接 https://www.google.co.za/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=npm+cors