我在 Express on Node.js 中使用 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'));
}
});
抱歉,如果这听起来很愚蠢,但我做了一些研究,但无法在网上找到任何示例。感谢您的帮助。
最佳答案
我强烈建议使用
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')
}
关于javascript - app.get 和 app.post 在 node.js 中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19144499/