非常简单,只是尝试完成对基本ExpressJS服务器的CORS请求。以前没有太多处理ExpressJS的经验,但是经历了几个类似的问题,我看不出问题。看起来我没有在正确的位置添加所需的标题,因为Chrome错误表明那里什么都没有。
app.configure = function () {
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');
res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, OPTIONS');
next();
})
}
这段代码不正确吗?我是否将客户端和服务器端代码混淆了?此外,服务器是我的,所以我试图确保服务器可以正确响应CORS请求,而不是使用代理来欺骗它。
答案 0 :(得分:0)
根据您使用的快速版本,app.configure可能不再可用。
所以你应该直接使用它:
app.use(function(req, res, next) {
res.set('Access-Control-Allow-Origin', '*');
res.set('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
res.set('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, OPTIONS');
next();
})
或者如文档中所述,如果要设置多个标题
res.set({
'header1' : 'Foobar',
'header2' : 'Foobar'
});