节点 Express REST API 中的 CORS 错误(补丁请求)

问题描述 投票:0回答:3

我收到补丁请求的 cors 错误。我正在使用 cors npm 包,它对于 get 和 post 请求运行良好。对于 patch 方法抛出 cors 错误。

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

app.use(cors());

我添加了选项app.options('*', cors()),不幸的是不起作用。

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

node.js rest express cors
3个回答
2
投票

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

var options = {
  "origin": "*",
  "methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
  "preflightContinue": false,
  "optionsSuccessStatus": 204
}
app.use(cors(options));

0
投票

没有什么对我有用,所以我所做的就是将所有 PATCH 请求更改为 PUT 请求。

发生这种情况是因为

cors()
没有将 PATCH 添加到接受的方法中,并且这两个选项都不起作用。


0
投票

我遇到了类似的 CORS 问题,结果发现它是我没想到的罪魁祸首 - 浏览器扩展!就我而言,“允许 CORS”在启用时将事情搞砸了。如果您正在处理 CORS 问题,请尝试禁用甚至卸载任何类似的扩展,看看是否会产生影响。

© www.soinside.com 2019 - 2024. All rights reserved.