首页 > 解决方案 > 不存在“Access-Control-Allow-Origin”标头。角度 7 并表示

问题描述

我在端口 3000 上运行一个带有 express 的服务器,在端口 4200 上运行一个带有 angular 7 的客户端。一旦我提出请求,我就会遇到 CORS 问题。

从源“ http://localhost:4200 ”访问“ http://localhost:3000/drug ”处的 XMLHttpRequest已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头.

我已经尝试了所有在线解决方案,例如使用 cors 包,并在路由器之前设置中间件,如下面的代码(Angular 6 - No 'Access-Control-Allow-Origin' header is present on the requested resource)。但它仍然没有解决并不断收到相同的错误。有没有人遇到所有解决方案都无法解决 CORS 的问题?请你帮助我好吗?

app.use((req, res, next) => {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
  res.header(
    "Access-Control-Allow-Header",
    "Origin, X-Requested-With, Content-Type, Accept"
  );
  next();
});

app.use((req, res, next) => {
      res.header("Access-Control-Allow-Origin", "http://localhost:4200");
      res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
      res.header(
        "Access-Control-Allow-Header",
        "Origin, X-Requested-With, Content-Type, Accept"
      );
      next();
    });

标签: node.jsexpressangular7cross-origin-read-blocking

解决方案


将这行代码放在app.use(cors());路由代码之前。(假设您已经安装了cors软件包)。


推荐阅读