2013-10-02 41 views
2

我在Express on Node.js中使用app.getapp.post函数。app.get和app.post在node.js中获取值

我的例子是这样的:

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')); 
    } 
}); 

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

+0

为什么downvote ...? – jackhao

回答

2

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

+0

非常感谢! – jackhao

+0

@jackhao - 没问题,不知道为什么倒票,生病甚至雅出:)。一旦它允许你一定要接受答案! – tymeJV

+0

非常感谢你的男人! – jackhao

1

我会强烈建议使用

req.param('status') // 

looks up req.body/req.query以及req.params,所以用这个你可以三个以下路径映射到相同的方法

app.get('/status',statusHanlder); 
app.post('/status', statusHanlder); 
app.get('/status/:status', statusHanlder) 

var statusHanlder = function(req, res){ 
    var status = req.param('status') 
} 
+0

+1因为我完全同意! – robertklep