我无法在我的示例React/Express应用程序中消除此浏览器错误
在'获取的访问权限http://localhost:9000/getFiles'来自原点'http://localhost:3000'已被CORS策略阻止:请求的资源上不存在"Access Control Allow Origin"标头。如果不透明响应满足您的需求,请将请求的模式设置为"无cors",以在禁用cors的情况下获取资源。
其中/getFiles从React到Express进行API调用。
我在谷歌上搜索了很多,我觉得我把所有的东西都编码正确了。
App.js:
import express from 'express';
import routes from './routes/index.js'
import cors from "cors";
const app = express();
app.use(cors());
app.use("/", routes);
const PORT = 9000;
app.listen(PORT,() => {
console.log(`Running on PORT ${PORT}`);
})
我曾怀疑它与ES6格式有关,但我看到了其他代码示例,它们完全按照原样使用导入语句
我想明白了。问题是因为我在设置路由后错误地添加了cors((引用。在撤销订单并重新启动我的应用程序后,它开始工作。
正确顺序:
...
app.use("/", routes);
app.use(cors());
...
支持这篇文章让我走上正轨。