在NodeJS / Express的POST方法中从URL获取参数

Bob*_* JS 5 node.js express

我想执行以下操作,但是不知道是否可以在URL中不进行字符串操作。我想从url获取一些参数,我在发布数据中传递了一些数据,但是我需要从URL获取一些信息(用户ID):

  1. 我在用快递
  2. 我正在使用发布方法
  3. 我的网址是这样的:

http://www.mydomain.com/api/user/123456/test?v=1.0

我有以下代码,以获取所有发布请求:

var http = require('http');
var url = require('url') ;
exp.post('*', function(req, res, next) {
     var queryObject = url.parse(req.url,true).query; // not working only get in the object the value v=1.0
     var parameter = req.param('name'); // get undefined

}
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

谢谢

Sam*_*amT 7

GET参数(作为对象)位于中req.query。试试看:

exp.post('*', function(req, res, next) {
  console.log(req.query);
  console.log(req.query.v);
  next();
});
Run Code Online (Sandbox Code Playgroud)

如果要从URL本身获取参数化的段,则必须以其他方式设置路由。这些位于req.params

exp.post('api/user/:userid', function(req, res, next) {
  console.log(req.params);
  console.log(req.params.userid);
  next();
});
Run Code Online (Sandbox Code Playgroud)

  • @BobaFettlikesJS很高兴听到它的声音!如果您满意,请不要忘记单击答案旁边的复选标记;) (3认同)