node.js http获取请求参数[重复]

Posted

技术标签:

【中文标题】node.js http获取请求参数[重复]【英文标题】:node.js http get request parameters [duplicate] 【发布时间】:2013-10-02 11:44:36 【问题描述】:

我想处理这样的 HTTP 请求:

GET http://1.2.3.4/status?userID=1234

但我无法从中提取参数userID。我正在使用 Express,但它对我没有帮助。例如,当我写如下内容时,它不起作用:

app.get('/status?userID=1234', function(req, res) 
  // ...
)

我希望有可能为任何本地参数取值1234,例如user=userID。我怎样才能做到这一点?

【问题讨论】:

特别是在该页面上:***.com/a/6913287/95190,这是最适合您需求的答案。 另外,如果您不知道值可能在哪里,您可以使用req.param("userID"),但您只需要req.query.userID 【参考方案1】:

您只需使用本机模块解析请求 URL。

var url = require('url');
app.get('/status', function(req, res) 
  var parts = url.parse(req.url, true);
  var query = parts.query;
)

你会得到这样的东西:

query:  userID: '1234' 

编辑:由于您使用的是 Express,因此会自动解析查询字符串。

req.query.userID
// returns 1234

【讨论】:

对不起,我可能不明白它是如何工作的,但如果我有这个代码 var url = require('url'); app.get('/status', function(req, res) var url = url.parse(request.url, true); var query = url.query; res.send("response: "+query.useriD) ; );并发送请求 get 1.2.3.4/status?userID=1234 我收到答案“错误”:“请求未定义” Express 还有许多其他选项不需要其他模块(请参阅重复答案) 将 request.url 更改为 req.url 服务器后给我答案:“错误”:“无法调用未定义的方法 'parse'” @AlexCebotari - 查看对您的问题的评论中建议的重复帖子。还有我的其他cmets。你不需要parse 对不起,错误是由于我急于去学校重新分配了 URL 变量。还有@WiredPrairie,感谢您指出 Express 已经解析了查询字符串,我忘记了。

以上是关于node.js http获取请求参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

node.js createserver获取请求值

带有查询字符串参数的node.js http'get'请求

node.js中HTTP请求与响应处理

如何从 Node.js http get 请求中获取数据

如何在 Node.js 中从请求参数获取经过身份验证的用户到 socket.io

如何在 Node.js HTTP2 中获取请求正文?