GET变量名称包含破折号为NodeJS Express的req.query创建问题?

szx*_*zxk 4 javascript node.js express

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

?message-timestamp=2012-08-19+20%3A38%3A23
Run Code Online (Sandbox Code Playgroud)

我无法使用req.query访问它.访问req.query.message-timestamp会引发错误("ReferenceError:timestamp is not defined").显然,破折号并不好看.

有什么明显的方法吗?

mih*_*hai 7

在JavaScript中,对象值可以通过使用访问.[]
当钥匙包含一个破折号,您不能使用.符号,因为-将被解释为"负".这与expressjavascript的工作原理无关.

所以你应该使用:

req.query["message-timestamp"]
Run Code Online (Sandbox Code Playgroud)