2017-02-14 7 views
0

Я хочу включить CORS. поэтому я устанавливаю keystone.set ('cors allow origin', true); и введите это в моем маршрутизаторе: app.all ('/ api *', keystone.middleware.cors);KeystoneJS: Cors issue

но не работает.

Я должен изменить createDynamicRouter в трапеции/Lib и добавить в

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 в свой код, а не в ключевой код ключа.

спасибо. mikeso

ответ

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); 
}); 
+0

Я добавил выше код в моем маршрутизаторе, но он не работает. У меня есть список моделей, и маршрутизатор этого API-модели автоматически генерируется с помощью ключевого ядра JS. но если я добавлю код выше для созданияDynamicRouter.js, он будет работать. Я не уверен, что я сделал неправильно – mikeso