2013-10-02 45 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