我在前端使用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} ...
如何使这项工作?
答案 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