如何在Express中结合使用app.get和app.post?

12

我正在使用Facebook应用画布(canvas),需要进行post操作。我使用express处理app.post('/')app.get('/')。是否可以将它们合并到一个函数中?

2个回答

34

除了像JustSid在其他答案中建议的那样将相同的功能绑定到POSTGET之外,您还可以使用app.all('/', handler)将所有请求类型路由到函数。


3
比我的方法好多了!(我还学到了一些东西 :) - JustSid
1
.all 是否也处理像 put、delete 这样的其他 http 动词? - kmpm
@PeterM,是的,如果你需要照顾它们,那么“all”就不适合你 ;) - Juicy Scripter
谢谢!新手提醒:您可以单独运行app.post(),还是总是需要app.get()? - Squirrl
1
@Squirrl,当然可以,只需使用所需处理方法的动词即可。 - Juicy Scripter

7
您可以编写一个函数来同时处理POST和GET请求:
function sharedHandler(req, res)
{
   // Some custom logic here
}

app.get('/', sharedHandler);
app.post('/', sharedHandler);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接