2015-02-11 38 views
-1

POST方法多个参数我正在处理方法后这样使Node.js服务器:Reciving在node.js中

app.post('/app/:id:second',function(req,res){ 
    console.log('Post received'); 
    res.end(); 
}) 

如何我可以通过2个或多个参数,以我的服务器的URL?网址应该如何?我尝试了这样但它失败:http://localhost:8080/app/id=123&second=333
我是一个网络应用程序的初学者。

+0

[网址参数](http://expressjs.com/4x/api.html#req.params)== [查询参数(HTTP! //expressjs.com/4x/api.html#req.query)。 – 2015-02-11 15:09:29

+0

那么我怎样才能发送params到我的服务器?我有两种形式,我试图确定哪一个被按下。 – n0ne 2015-02-11 15:14:44

+0

这个类似问题的答案是否有帮助? http://stackoverflow.com/questions/22223868/add-parameters-to-http-post-request-in-node-js – 2015-02-11 15:24:45

回答

1

使用bodyParser中间件,例如:

var bodyParser= require('body-parser'); 
app.use(bodyParser.urlencoded()); 

app.post('/app/:id',function(req,res){ //http://localhost:8080/app/123?second=333 

    console.log(req.query); //{second: 333} 
    console.log(req.params); // {id: 123} 
    res.end(); 
}) 
+0

有没有一种方式来形成的网址,既“ID”和“第二”在req.params? – n0ne 2015-02-11 15:22:28

+0

如果你想在参数“第二”,你必须写这样的东西: app.post('/ app /:id /:第二',功能(要求,水库)... http:// localhost:8080/app/123/333 但这不正确!!! – siavolt 2015-02-11 15:24:51

+0

这就是我想弄清楚的情况,请告诉我什么是正确的解决方案。当一个人点击这样的链接时:'localhost:8080/app/12345'应该是可见的,现在,当这个人点击web窗体按钮时,应该执行一个POST方法,我需要知道哪个按钮被按下了,以便我可以在app.post方法中处理它在我的服务器上,这就是为什么我试图发送2个参数,“ID”(12345)和“按钮按下”参数,你的答案是否适合我的问题? – n0ne 2015-02-11 15:32:42