好的,所以我对 Keystone JS 还很陌生,我决定将其用作项目的 API 后端。
我已经完成了所有 API 端点/路由,并且它们在我的浏览器中运行良好,但是当尝试远程获取数据时,我不断收到相同的错误:XMLHttpRequest 无法加载http://localhost:3000/keystone/api/。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问Origin ' http://localhost '。
我对 CORS 并不陌生,并尝试通过将以下内容添加到我的 keystone.js 和 routes/index.js 来启用它
基石.js:
keystone.set('cors allow origin', true);
keystone.set('cors allow methods', true);
keystone.set('cors allow headers', true);
Run Code Online (Sandbox Code Playgroud)
路线/ index.js:
// Setup Route Bindings
exports = module.exports = function (app) {
app.all('/api/*', keystone.middleware.cors);
app.options('/api*', function(req, res) { res.send(200); });
// Views
app.get('/', routes.views.index);
// API
// Lists
...
Run Code Online (Sandbox Code Playgroud)
现在我已经尝试通过查看大量文档来寻找解决方案,但根据我的发现,这应该足以让 CORS 与 Keystone 一起工作。
除此之外,我还将在我的 Angular JS 1.x 前端展示我的 Keystone 服务,让您看看我想要实现的目标。
keystone.service.js:
(function() …Run Code Online (Sandbox Code Playgroud)