【发布时间】:2021-05-03 16:48:04
【问题描述】:
我在 Express 上遇到了一些奇怪的事情。我有一个接收日志数据并将其推送到 postgres 数据库的端点,但我在请求时收到此错误:
Access to XMLHttpRequest at 'https://myserver.com/log' from origin 'https://myorigin.io' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这没有任何意义,因为我已将 express 应用程序配置为接受 CORS,并且看起来接受了选项请求?这是相关的服务器端代码
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept"
);
next();
});
app.use(express.json());
这是请求
$.ajax({
type: "POST",
url: "https://myserver.com/log",
data: JSON.stringify({ "username": "test", "json": {a: 1}}),
dataType: 'json',
contentType: 'application/json'
})
我试过了
app.use(cors())
和
app.use(cors());
app.options("*", cors());
无济于事。
我在这里遗漏了什么明显的东西吗?
【问题讨论】:
标签: javascript node.js rest express cors