因此,我正在设置一个允许跨域请求的应用程序。我使用了这篇文章中的各种方法,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. 如果我注释掉最上面的代码,我会得到预期的not allowed错误,这似乎表明该代码正在正确地处理请求。我还重新键入了内容类型的请求,以确保我没有粘贴奇怪的字符。有什么线索吗?
发布于 2013-04-08 09:37:01
您有两个Access-Control-Allow-Headers标头。最后一个会赢。
您可能需要一个带有逗号分隔列表的值的Access-Control-Allow-Headers标头。
https://stackoverflow.com/questions/15869948
复制相似问题