我正在端口 3000 运行带有 Express 的服务器,在端口 4200 运行带有 Angular 7 的客户端。一旦我发出请求,就会遇到 CORS 问题。
访问位于“http://localhost:3000/drug”的 XMLHttpRequest '来自原点'http://localhost:4200 ' 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin” header 。
我已经尝试了所有在线解决方案,例如使用 cors 包,并在路由器之前设置中间件,如下代码( Angular 6 - No 'Access-Control-Allow-Origin' header is present on the requested resource )。但它仍然没有解决并且不断出现同样的错误。有没有人有同样的问题,所有的解决方案都没有解决 CORS?请你帮助我好吗?
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
res.header(
"Access-Control-Allow-Header",
"Origin, X-Requested-With, Content-Type, Accept"
);
next();
});
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "http://localhost:4200");
res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
res.header(
"Access-Control-Allow-Header",
"Origin, X-Requested-With, Content-Type, Accept"
);
next();
});
最佳答案
将此行代码放在路由代码之前 app.use(cors());
。 (假设您已经安装了 cors
软件包)。
关于node.js - 不存在 'Access-Control-Allow-Origin' header .. Angular 7 和 Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53272381/