【发布时间】:2016-10-27 18:04:47
【问题描述】:
使用node v6.2.0,表达4.14.0。
当输入站点网址为:'http://site.name/?key=value'时,我可以通过以下方式获取查询值:
app.get('/', function (req, res) {
// req.query.key equals 'value'
});
但是当输入编码后的 url: 'http://site.name/?key%3Dvalue' 时,req.query 对象看起来像这样:
{ 'key%3Dvalue' : '' }
有没有办法让节点 req.query 正确解析 url? 如果否,提取此查询值的首选方法是什么?
【问题讨论】:
-
它正在正确解析它。将
=编码为%3D的全部意义在于,它将被视为 data 而不是将键与值分开的字符。否则将无法提交=符号。 -
如果“=”是分隔符而不是值本身的一部分,则不必编码。