Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用express.js在帖子上提供静态内容_Javascript_Node.js_Post_Express - Fatal编程技术网

Javascript 使用express.js在帖子上提供静态内容

Javascript 使用express.js在帖子上提供静态内容,javascript,node.js,post,express,Javascript,Node.js,Post,Express,我正在尝试使用express.js app.configure(function (){ app.use('/', express.static(__dirname + '/public')); }); 这在GET上有效,但是在POST上,我得到一个404说不能POST/ curl -X POST localhost:3001 Cannot POST / 我怎样才能避开这件事 根据虫族的回答,我想出了这个方法,我想这是一个非常糟糕的做法 app.post('/', function

我正在尝试使用
express.js

app.configure(function (){
    app.use('/', express.static(__dirname + '/public'));
});
这在
GET
上有效,但是在
POST
上,我得到一个
404
不能POST/

curl -X POST localhost:3001
Cannot POST /
我怎样才能避开这件事


根据虫族的回答,我想出了这个方法,我想这是一个非常糟糕的做法

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'));
});

这是可行的,但如果有人有更好的解决方案,我还是希望有更好的解决方案。

它只提供
GET
HEAD
请求


你犯了什么错误?是404吗?500美元?你的程序崩溃了吗?为什么你一开始就把一篇帖子当作一个“GET”?因为,据我所知,如果你想让facebook显示一个web应用程序,它只会用帖子请求该web应用程序。@Loourr:“它只会用帖子请求该web应用程序”—基于这些问题,这听起来并不正确,我相信是的。有没有其他方法可以通过帖子来提供静态内容?@Loourr:我真的不知道。从未使用过node.js,只是打开了他们的存储库,并通过
POST
:-DHmm找到了为什么它不能提供服务,无论如何还是要感谢您的帮助。它帮助我找到了一个似乎有效的黑客。
if ('GET' != req.method && 'HEAD' != req.method) return next();