app.get和app.post在node.js中获取值
我在Node.js的Express中使用app.get
和app.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.status
或req.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') }