node.js - 在 NodeJS/Express 的 POST 方法中从 URL 获取参数

标签 node.js express

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

  1. 我正在使用 express
  2. 我正在使用 post 方法
  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

}

我错过了什么?

谢谢

最佳答案

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();
});

关于node.js - 在 NodeJS/Express 的 POST 方法中从 URL 获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22181754/

相关文章:

node.js - 如何使用 heroku + node.js + express 设置安全 cookie?

node.js - 响应 5002 : PDF damaged

node.js - Passport-saml lib 无法使用私有(private)解密 key 正确解密 saml EncryptedAssertion

javascript - JavaScript 队列的 O(1) 删除

javascript - jade 中的迭代循环无法正确呈现数据

javascript - 如何在 Express 中设置 IP 白名单?

mysql - ejs 模板引擎与 Express 4、对象的 foreach 函数不起作用

node.js - Angular 12 通用配置 'development' 未在工作区中设置

node.js - Node 表达请求

mysql - 如何设置查询不接受不存在的字段