0

我试图了解 Angular 和 Node.js 在后端的合作。但是,我不知道如何使用 REST 在两者之间进行数据传输。

我有:

  1. Node.js 后端在 port 上运行8000,响应各种 GET 和 POST 请求(通过 cURL)。
  2. Angular 前端通过 Apache 加载,在 port 上运行80

自然地,JavaScript 控制台将其标识为not allowed by Access-Control-Allow-Origin.

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

4

3 回答 3

1

解决它的一种方法是使用跨域资源共享。浏览器支持也不错。

于 2013-03-20T09:08:55.640 回答
1

你也可以使用cors

npm install cors

const cors = require('cors');

app.use(cors({
    origin: 'http://example.com'
}));

http://example.com是您在前端的应用程序来源/域。

于 2021-06-21T06:42:13.000 回答
0

将此添加到您的 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();
});
于 2014-11-07T09:29:19.060 回答