在express中,获取包含特殊字符的request.query
我有一个urlhttp://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)
?
&
是分隔查询string参数的分隔符。 查询stringparsing器将parsing为:
{ "id": "Avinim Plus (100", " 500)": undefined }
因为&
是一个特殊的字符,所以你需要用%26
replace它:
http://127.0.0.1:8000/medicine_alternatives/?id=Avinim%20Plus%20(100%20%26%20500)