为什么 CORS 在简单的快速应用程序中不起作用



我无法在我的示例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());
...

支持这篇文章让我走上正轨。

相关内容

最新更新