使用express.js在POST上提供静态内容

时间:2014-08-04 22:42:51

标签: javascript node.js post express

我尝试使用express.js

为facebook应用提供静态内容
app.configure(function (){
    app.use('/', express.static(__dirname + '/public'));
});

这适用于GET但是POST我得到404Cannot POST /

curl -X POST localhost:3001
Cannot POST /

我怎样才能解决这个问题?


根据zerkms的回答,我想出了这个黑客,我想这是非常糟糕的做法。

app.post('/', function(req, res, next){

    try {
        if(req.url === '/'){
            req.method = 'GET'  
        }
    } catch(err){
        res.send(500, err)
        res.end()
    }
    next()
});

app.configure(function (){
    app.use('/', express.static(__dirname + '/public'));
});

这样可行,但如果有人的话,我仍然想要一个更好的解决方案。

1 个答案:

答案 0 :(得分:2)

它仅提供GETHEAD次请求。

请参阅https://github.com/expressjs/serve-static/blob/master/index.js#L51

if ('GET' != req.method && 'HEAD' != req.method) return next();