所以我正在设置一个应用程序以允许跨域请求。一直在使用这篇文章中的各种方法How to enable cross-origin resource sharing (CORS) in the express.js framework on node.js
但是我收到一个错误,我似乎无法解决。这是我正在使用的(并不是我尝试了所列出的 3 种方法 - 它们都给出了相同的错误)。
app.use(function(req, res, next){
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type');
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'X-Requested-With');
next();
})
.options('*', function(req, res, next){
res.end();
});
这仍然给我一个错误:
XMLHttpRequest cannot load http://localhost:3000/blah. Request header field Content-Type is not allowed by Access-Control-Allow-Headers.
如果我注释掉顶部代码,我会收到预期的不允许错误,这似乎表明该代码正在正确处理该请求。我还重新输入了内容类型请求,以确保我没有粘贴奇怪的字符。有什么线索吗?
最佳答案
您有两个 Access-Control-Allow-Headers
header 。最后一个将获胜。
您可能需要一个 Access-Control-Allow-Headers
header ,其值是逗号分隔的列表。
关于javascript - Node 的 CORS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869948/