app.get and app.post get value in node.js

app.get and app.post get value in node.js

本文关键字:app get node js in post and value      更新时间:2023-09-26

我在 Node 上使用 Express 中的 app.getapp.post 函数.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'));
  }
});

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

我强烈建议使用

req.param('status') //

它查找 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')
}

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