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获取请求参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章