【问题标题】:Allow cross origins in Nodejs在 Nodejs 中允许跨源
【发布时间】:2021-12-17 16:37:46
【问题描述】:

很抱歉重复了这个问题,但我一直坚持。

我的任何代码都没有解决 CORS 问题。我尝试了许多可能的方法来解决 CORS 问题,但没有成功。

    const app = express();

// Middlewares
app.use(express.json());
app.use(morgan('dev'));

// Access-Control-Allow-Origin
/* app.options('*', cors());
app.use(cors()); */

app.use('*', (req, res, next) => {
  // console.log({ message: 'in middleware' });
  /* req.headers['Access-Control-Allow-Origin'] = 'http://localhost:3000';
  req.headers['Access-Control-Allow-Methods'] = 'GET,PUT,POST,DELETE,OPTIONS';
  req.headers['Access-Control-Allow-Headers'] =
    'Content-Type, Accept, Access-Control-Allow-Origin, Authorization'; */
  console.log({ headers: req.headers });

  next();
});

var corsOptions = {
  origin: 'http://localhost:5000/api/v1/',
  optionsSuccessStatus: 200,
};

// API routes
app.get('/api/v1/', (req, res) =>
  res.status(200).json({ message: "Welcome to the Radical's API" })
);

每次显示错误

如您所见,我尝试了多种方法来解决它,尽可能多地研究它,但它没有得到解决,然后我发表了评论。想尽办法,现在来介绍一下我的情况。

请帮帮我。

【问题讨论】:

    标签: javascript node.js express cross-domain


    【解决方案1】:

    只需在您的回复中添加此代码,我希望它会起作用

    res.header("Access-Control-Allow-Origin", "*");
    

    【讨论】:

    • 感谢您的建议。我也试过了,但没有解决这个错误
    • 有一个nodejs包叫cors。你可以使用这个。 npm install cors const cors = require("cors"); app.use(cors({ origin: '*' }));
    【解决方案2】:

    为您的节点 js 应用配置 cors,在原始插入前端服务器 url。

    var corsOptions = {
        origin: 'http://localhost:3000',
        optionsSuccessStatus: 200 
    }
    
    app.use(cors(corsOptions));
    

    (在app.use(morgan('dev'))之后插入这段代码);)

    【讨论】:

      【解决方案3】:

      有一个名为 cors 的 nodejs 包。你可以用这个。

      npm install cors
      
      const cors = require("cors");
         app.use(cors({
         origin: '*'
      }));
      

      【讨论】:

        猜你喜欢
        • 2018-08-19
        • 2018-04-27
        • 2020-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-15
        • 2016-11-02
        • 2015-06-25
        相关资源
        最近更新 更多