【发布时间】:2019-12-17 20:51:50
【问题描述】:
我已经为此苦恼了一段时间。
我有一个 Nuxt 应用程序调用我的服务,两者都托管在 heroku 上。这是我最终添加的内容(在放弃 cors() 之后,我怀疑它的作用或不作用)
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", '*');
res.header("Access-Control-Allow-Credentials", true);
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header("Access-Control-Allow-Headers", 'Origin,X-Requested-With,Content-Type,Accept,content-type,application/json');
next();
});
我可以在浏览器中确认我的服务器实际上是通过 DevTools 发送此信息的。
仍然,我看到以下错误:
这些是测试活动,所以我不在乎我自己的隐私。
什么鬼?服务器清楚地响应正确的 CORS 策略。我的 Nuxt 应用程序在尝试拨打某些电话时突然因为 cors 问题而拒绝通信。
我在一天中看到了很多错误,但我完全迷失了,我在这里发帖,所以任何建议或见解都将不胜感激。提前谢谢!
【问题讨论】:
-
如果您使用的是 chrome,最新版本中的一些 cors 策略更改可能是问题
-
“服务器明确响应正确的 CORS 策略。” — 错误消息清楚地表明它没有。
-
“在放弃 cors() 之后,因为我怀疑它做什么或不做什么” - 它可以在一个广泛使用且经过良好测试的包中轻松完成您需要的一切。
-
我知道这听起来很简单,但是这个中间件在代码中的什么位置?在您呼叫的路线之前?
标签: javascript express heroku cors nuxt.js