在express中,获取包含特殊字符

时间:2016-01-11 14:45:48

标签: javascript node.js express

我有一个网址http://127.0.0.1:8000/medicine_alternatives/?id=Avinim%20Plus%20(100%20&%20500)

为清楚起见,未应用编码的参数为id=Avinim Plus (100 & 500)


在服务器上,我正在检索参数,如下所示:

app.get('/medicine_alternatives', function (req, res) {
    console.log('id='+req.query.id);
});

我在控制台中收到id=Avinim Plus (100。似乎它将&之后的所有内容视为不同的参数。

如何获取整个字符串Avinim Plus (100 & 500)

1 个答案:

答案 0 :(得分:1)

&是用于分隔查询字符串参数的分隔符。查询字符串解析器会将其解析为:

{
    "id": "Avinim Plus (100",
    " 500)": undefined
}

由于&是一个特殊字符,因此您需要将其替换为%26来对其进行uriencode:

http://127.0.0.1:8000/medicine_alternatives/?id=Avinim%20Plus%20(100%20%26%20500)

相关问题