app.get和app.post在node.js中获取值

我在Node.js的Express中使用app.getapp.post函数。

我有这样的例子:

 app.post('/status', function(req, res) { if (~packages.STATUSES.indexOf(req.body['status'])) { res.status(req.body.status, req.body.message); res.jsonp(new packages.Success('status updated')); } else { res.jsonp(new packages.Error('invalid status')); } }); 

这将工作,如果我张贴数据的服务器,我注意到它得到的价值

 req.body['status']; 

如果我使用GET并在这里传递值呢? 我应该做些什么来获得“地位”?

 app.get('/status', function(req, res) { // how can I get status... var status = ?? if (~packages.STATUSES.indexOf(status) { //got value res.status(req.body.status, req.body.message); res.jsonp(new packages.Success('status updated')); } else { res.jsonp(new packages.Error('invalid status')); } }); 

对不起,如果它听起来愚蠢的,但我做了一些研究,并找不到任何在线的例子。 谢谢你的帮助。

GET请求使用req.query.statusreq.query['status']

我强烈build议使用

 req.param('status') // 

它查找 req.body / req.query以及req.params,因此,您可以将以下三个path映射到相同的方法

 app.get('/status',statusHanlder); app.post('/status', statusHanlder); app.get('/status/:status', statusHanlder) var statusHanlder = function(req, res){ var status = req.param('status') }