node.js - CORS 政策问题
问题描述
我在一个做客户端-服务器应用程序的团队中。我们在后端使用 Node.js (v12.18) 作为 API,在前端使用 React (v16.13)。最近我发现了这个与 CORS 策略相关的错误。我正在尝试发送 POST 请求,删除数据库中的一个资源,当尝试删除它时,这是我得到的错误:
CORS 策略已阻止从源“http://localhost:8080/clientes/eliminar”获取从“http://localhost:3000”获取的访问权限:对预检请求的响应未通过访问控制检查:未通过具有 HTTP 正常状态。
就我在论坛和讨论中的研究而言,我总是找到相同的解决方案,即使用“Access-Control-Allow”标题,但我们已经在使用它们。在执行请求时,我尝试通过 DELETE 方法更改 POST 方法,但我发现了同样的问题。
我们当前在后端使用的标头,以防有人想知道我们拥有什么。
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, POST");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, token");
next();
});
我为了解决这个问题而访问的站点与这个站点几乎相同
TYSM 阅读直到这里,并询问您需要的更多信息。每一份帮助都值得赞赏。
解决方案
您是否已经尝试将 CORS 添加到项目中并将其用作中间件?
//...
const cors = require('cors')
//...
app.use(cors())
推荐阅读
- reactjs - 如何检查子组件中的 propTypes?
- regex - regx 替换以在文件中构建版本
- entity-framework - 我们可以在 Web API 中使用 Odata 吗?会不会更长寿
- sql - Oracle SQL:: 子查询中带有 orderby 的 Rownum 抛出缺少括号
- python - Keras 将使用一种方法来标记单词,但不会使用另一种方法
- python - 尽管使用了正确的运算符,但条件语句的问题
- outlook - 运行时 Outlook 变为白色 Process.Start("Outlook.exe", "/recycle")
- c++ - 如何在 MFC 中保存 .wav 文件(使用文件对话框)
- r - 关系和条件数据编码
- java - 是否可以在 Java 的 print 语句中添加 sleep() 方法?