Javascript 如何在Node.js和AngularJS位于不同端口的情况下使用REST?

Javascript 如何在Node.js和AngularJS位于不同端口的情况下使用REST?,javascript,apache,node.js,rest,angularjs,Javascript,Apache,Node.js,Rest,Angularjs,我试图理解Angular和Node.js的合作。但是,我不知道如何使用REST进行数据传输。我在端口8000上运行Node.js后端,响应各种GET和POST。我的Angular前端通过Apache加载,在端口80上运行。当然,JavaScript控制台将其标识为访问控制允许源不允许的 这通常是如何解决的?我做错了吗?我是否应该通过Apache运行前端?一种解决方法是使用。浏览器支持也不错。将其添加到Node.js API服务器 server.all('*', function(req, res

我试图理解Angular和Node.js的合作。但是,我不知道如何使用REST进行数据传输。我在端口8000上运行Node.js后端,响应各种GET和POST。我的Angular前端通过Apache加载,在端口80上运行。当然,JavaScript控制台将其标识为访问控制允许源不允许的


这通常是如何解决的?我做错了吗?我是否应该通过Apache运行前端?

一种解决方法是使用。浏览器支持也不错。

将其添加到Node.js API服务器

server.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header('Access-Control-Allow-Methods', 'OPTIONS,GET,POST,PUT,DELETE');
    res.header("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With");
    if ('OPTIONS' == req.method) {
        return res.send(200);
    }
    next();
});

没有更干净的方法怎么做?使用Ang+Node的页面肯定有很多,不要告诉我他们是这样做的:-你可以通过同一个代理,使用不同的上下文代理两个应用程序。感谢你指出,如何做!