跨源请求被阻止 - NodeJs

时间:2016-02-08 08:16:44

标签: angularjs node.js iis mean-stack

我在AWS上的MEAN堆栈应用程序出现问题--Windows。因此,我已经为节点服务器放置了一个端口3000来监听,而IIS默认使用端口80.

然后,当我启动节点服务器监听,并激活应用程序时,我想通过Node获取Angular的一些数据。我试着用这个:

$http.get('http://localhost:3000/get_data').success(function(response) { // something with response });

这会在我的控制台中重现错误:

enter image description here

对我来说这是一个阻碍者,如果有人能指出我正确的方式,我真的很感激。

我也有兴趣知道为什么会发生这种情况,为什么我的端口不同于默认值(80)?#/ p>

由于

2 个答案:

答案 0 :(得分:1)

有一个名为cors的很好的node.js包。您可以按照以下方式使用此库

var cors = require('cors')
app.options('/get_data', cors());
app.route('/get_data').get(cors(), doOperation());

答案 1 :(得分:1)

您可以使用CORS模块在​​节点端启用跨源请求。 在此处阅读有关模块和文档的更多信息:Enable cors

var cors = require('cors');
app.use(cors());