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

时间:2014-03-04 19:59:50

标签: node.js express

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

  1. 我正在使用快递
  2. 我正在使用post方法
  3. 我的网址如下:
  4. 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
    
    }
    

    我缺少什么?

    由于

1 个答案:

答案 0 :(得分:5)

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

exp.post('*', function(req, res, next) {
  console.log(req.query);
  console.log(req.query.v);
  next();
});

如果您想从URL本身获取参数化slug,则必须以不同方式设置路径。它们位于req.params

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