我想启用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
答案 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);
});