【问题标题】:Why req.query.name return undefined? [closed]为什么 req.query.name 返回未定义? [关闭]
【发布时间】:2019-08-08 19:55:42
【问题描述】:

我试图在我的 nodeJS 服务器 url 中获取一个参数,如下所示:localhost/?name=Vincent

所以,我写了这段代码:

var request = require('request');
var http = require('http');
http.createServer(fybctuib (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
console.log(req.query.name)  // or juste req.query

等等

当我在本地主机上时,我的日志中没有定义... 请问你能帮帮我吗 ?谢谢。

【问题讨论】:

  • 该代码只会引发错误。你拼错了function,你已经从最后切掉了}),以及任何让服务器真正监听请求的东西。请提供一个有效的minimal reproducible example
  • 对不起,我无法复制代码
  • @VincentBourdon — 然后编写一个测试用例并对其进行测试,以确保它能够编译并演示该问题。然后复制/粘贴该测试用例。

标签: javascript node.js parameters


【解决方案1】:

您正在使用 Node.js 的 http 模块。如果您查看IncomingMessage 对象的文档,您会发现它没有query 属性。您可能已经看过 Express.js 的示例,并且您将它们与原生的 http 模块混淆了。

要么使用 Express.js,要么使用 url.parse,如 the message.url documentation 所示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2021-12-11
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多