如何区分expressjs中的两个POST调用?

我目前有一个invent.ejs文件有两种不同的forms:

一个简单的描述:

///inven.ejs <form method="POST" value="inven"> <div id="some-form" style="display: none;"> <table> <tr> <td><label for="item">Item</label></td> <td><input type="text" name="item" required/></td> </tr> <tr> <td><label for="text-box-value">Value</label></td> </tr> <tr> <td><label for="comments">Comments</label></td> <td><textarea rows="4" cols="50" required></textarea></td> </tr> <tr> <td><input type="submit" /></td> </tr> </table> </div> </form> 

另一个用于file upload:

 ///inven.ejs <div id="fileUp"> <form id="fileUpload" name="fileUpload" enctype="multipart/form-data" method="post"> <fieldset> <input type="file"id="fileSelect"> <input type="submit" name="upload" value="upload"> </fieldset> </form> </div> 

在expression,我怎么能区分这两个职位在我的list.js文件?

 router.post('/list', function(req,res){ // ??? }); 

我需要两台路由器吗? 我完全做错了吗? 谢谢!

编辑:包括图像,如果有帮助?

我正试图在这里做的图片

将表单发布到不同的地址是有意义的。

也就是, <form id="fileUpload" action="file_upload" ... >然后,如果在http://server/my_formfindhttp://server/my_form ,它将会发送到http://server/file_upload

在你的Node.js路由器中,你需要捕获并完成。


如果您仍然希望将两个表单都发送到相同的地址,则可以使用隐藏字段。

例如: <input type="hidden" name="form_type" value="file_up_form"> 。 然后在你的Node.js中检查参数form_type并检查它的值。