我已经为 CORS 设置了 Node.js(在 Google Cloud Platform [GCP] 上托管的 TypeScript)应用,但在移动设备上仍然收到错误(Access-Control-Allow-Origin 不允许来源) - 桌面工作正常。
我进行了搜索,但总体上有很多关于设置此设置的问题,我找不到它为什么不适用于移动设备的原因。
this.app.use(cors());
this.app.options('*', cors());
...
router.use(function(req, res, next) {
res.header('Content-Type', 'application/json');
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'DELETE,GET,OPTIONS,PATCH,POST');
res.setHeader('Access-Control-Allow-Headers', 'Origin, Accept, Authorization, Content-Type, X-Requested-With, Access-Control-Allow-Headers, Access-Control-Request-Method, Access-Control-Request-Headers');
next();
});
顺便说一句,直到页面加载几分钟后,错误才会出现在控制台中。 (我已经删除了有效的网址。)
“由于访问控制检查,XMLHttpRequest 无法加载。”
“无法加载资源:Access-Control-Allow-Origin 不允许来源。”
最佳答案
问题是数据库中缺少数据,因此 Node 端点无法正确返回。这些错误与问题无关。
关于node.js - 仅限移动设备 CORS 错误 : Origin is not allowed by Access-Control-Allow-Origin In Node. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52413398/