KeystoneJS:Cors问题

时间:2017-02-14 20:48:27

标签: keystonejs

我想启用CORS。所以我设置了keystone.set('cors allow origin',true); 并在我的路由器中有这个: app.all('/ api *',keystone.middleware.cors);

但它不起作用。

我必须在keystone / lib中更改createDynamicRouter并在

中添加它
router.all('/api*', function (req, res, next) {
console.log('------------------------------------------------');
console.log('Notice: Enabling CORS headers.');
console.log('------------------------------------------------');
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow Methods','GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});

我创建了一个模型并使用自动创建的路由器。

我做错了吗?我想在我的代码中启用cors,而不是在keystone核心代码中启用。

感谢。 mikeso

1 个答案:

答案 0 :(得分:0)

This GitHub Issue可能对您有用。也就是说,您可能需要将此代码添加到routes/index.js文件中:

app.all('/api*', keystone.middleware.cors);
app.options('/api*', function(req, res) {
   res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-XSRF-TOKEN');
   res.sendStatus(200);
});