我在Express 4中运行的API服务器使用 request.query 来读取所有参数。
app.get('/api', function(req, res) {
console.log(req.query.search);
});
请求如下
http://localhost:8080/api?id=123&search=node js&lang=en
request.query.search 的值是“node js”,即空格。 request.query是否将空格转换为%20等特殊字符?或者我错过了什么?
答案 0 :(得分:3)
在查询字符串中传递值时,必须使用escape()方法
var url="http://localhost:8080/api?id=123&search="+escape("node js")+"&lang=en";
当你在nodeJS中检索值时,你必须使用unescape()方法
var search= unescape(request.query.search);