javascript - GET 变量名称包含破折号会为 NodeJS Express 的 req.query 带来问题吗?

标签 javascript node.js express

我正在使用 Express 在 Node.js 中创建一个处理此变量的 GET 端点:

?message-timestamp=2012-08-19+20%3A38%3A23

我在使用 req.query 访问它时遇到问题。访问 req.query.message-timestamp 会引发错误(“ReferenceError:timestamp is not defined”)。显然,破折号表现不佳。

有什么明显的解决方法吗?

最佳答案

在 javascript 中,可以使用 .[]
访问对象值 当键包含破折号时,您不能使用 . 表示法,因为 - 将被解释为“减号”。这与 express 无关,它只是 javascript 的工作方式。

所以你应该使用:

req.query["message-timestamp"]

关于javascript - GET 变量名称包含破折号会为 NodeJS Express 的 req.query 带来问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22740821/

相关文章:

javascript - 如何在 JQuery 自动完成中使用 JSon 数组

node.js - Mongoose 打字问题与 typescript

node.js - Node.js 中的客户端-服务器通信

javascript - 如何在nodejsexpress中处理response和next

javascript - 通过递增和递减来动画数字

javascript - 无法使用 Mailgun 发送电子邮件

javascript - 播放/暂停所有音频链接的常规功能

javascript - 将表单数据写入 json 文件 - javascript

node.js - ~/.npm、$PROJECT/node_modules 和/usr/lib/node_modules 之间的区别?

node.js - Node 崩溃 : GC segfault