节点 express REST API 中的 CORS 错误(PATCH 请求)

Posted

技术标签:

【中文标题】节点 express REST API 中的 CORS 错误(PATCH 请求)【英文标题】:CORS error in node express REST API (PATCH Request) 【发布时间】:2021-04-11 10:48:26 【问题描述】:

我收到补丁请求的 cors 错误。我正在使用 cors npm 包,它适用于获取和发布请求。对于补丁方法抛出 cors 错误。

const express = require("express");
const cors = require("cors");
const app = express();

app.use(cors());

我添加了选项 app.options('*', cors()),运气不好。

错误: CORS 策略已阻止从源“http://localhost:8100”访问“http://example.com/url”处的 XMLHttpRequest:Access-Control-Allow-Methods 不允许方法 PATCH预检响应。

【问题讨论】:

【参考方案1】:

您可以将选项传递给 cors 中间件,我希望这会有所帮助

var options = 
  "origin": "*",
  "methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
  "preflightContinue": false,
  "optionsSuccessStatus": 204

app.use(cors(options));

【讨论】:

谢谢,在 chrome 隐身模式下工作在普通 chrome 浏览器中无法正常工作。我使用的是 chrome 87 版本

以上是关于节点 express REST API 中的 CORS 错误(PATCH 请求)的主要内容,如果未能解决你的问题,请参考以下文章

使用nodejs和rest api调用和express进行异步处理-序列错误

具有 REST 身份验证 API 的节点快递网站 - CORS 问题

使用我的 node/express rest api 服务器获取数据时 CORS 被阻止

在 Rest API 中使用 Facebook 在 Express 和 NodeJS 中维护 JWT 的密钥和访问令牌

连接到节点 REST api 的应用程序被客户防火墙阻止

Rest API Node Js & Express,创建链接(href)到自己