NodeJS – CORS中间件`origin`未定义

我有一个应用程序使用cors npm软件包作为中间件。 我有这样的设置:

  if(process.env.NODE_ENV === 'production') { var whitelist = ['http://mywebsite.com', 'https://mywebsite.com'] var corsOptions = { origin: (origin, callback) => { var originIsWhitelisted = whitelist.indexOf(origin) !== -1; console.log('ORIGIN: ', origin); // => undefined callback(originIsWhitelisted ? null : 'Bad Request', originIsWhitelisted) }, credentials:true } app.use(cors(corsOptions)); } 

我的corsOptions中的origin参数是undefined 。 为什么是这个,我该如何解决?

使用是一种configuration中间件的方法。您只能在路由中应用corsoptions。 这就是我所看到的基于文档。 还没有testing过。 希望它能帮助yaa。

 var whitelist = ['http://example1.com', 'http://example2.com'] var corsOptions = { origin: function (origin, callback) { var originIsWhitelisted = whitelist.indexOf(origin) !== -1 callback(originIsWhitelisted ? null : 'Bad Request', originIsWhitelisted) } } app.get('/products/:id', cors(corsOptions), function (req, res, next) { res.json({msg: 'This is CORS-enabled for a whitelisted domain.'}) })