2016-02-08 166 views
2

我在AWS-Windows上遇到了MEAN堆栈应用程序的问题。所以,我已经为节点服务器放置了一个3000端口进行侦听,并且IIS默认使用端口80。阻止跨源请求 - NodeJs

然后,当我启动节点服务器来侦听并激发应用程序时,我想通过Node获取一些Angular数据。我想这一点:

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

此重现错误在我的控制台:

enter image description here

这对我来说是一个拦截器,我会很感激,如果有人可以点我的权利办法。

我也有兴趣知道为什么会发生这种情况,为什么我得到的端口不同,然后默认(80)的CORS?

感谢

+0

谷歌的错误....这无数次出现在这里一天有答案可没有结束 – charlietfl

回答

1

有一个叫cors一个很好的node.js包。你可以在以下方式

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

我会尝试这种方法,让你知道。 – Wolf87

1

您可以启用使用CORS模块节点侧跨起源请求使用这个库。 了解更多关于模块和文件的位置:Enable cors

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

我试过,没有运气,它保持不变。 – Wolf87

+0

你把'app.use(cors())'放在所有api之前了吗? –

+0

我开始'app = Express();'然后'app.use(cors());'。 我也有兴趣知道为什么会发生这种情况,为什么我要用不同的端口获得CORS? – Wolf87

相关问题