客户端:
$.post("test=+");
服务器端:
app.post('/test', function(req, res) {
console.log(req.body.test); // Print is empty.
});
如何逃脱它?像“&,+ etc”这样的符号不会打印出来。
答案 0 :(得分:1)
我注意到的第一件事是您尝试发布到/test
,但您没有向该网址发送密钥/值对。例如,即使我在/ test处有路由处理程序,发布/test=+
也会给我404,因为快递将请求视为' / test = +'不只是' / test'。
其次,你需要对其进行url编码,而不是html编码。这对我有用:
$.post('/test', 'test=%2B');
这是我在快递服务器上的代码:
router.post('/test', function(req, res) {
console.log(req.body);
res.send('received');
});
它产生了:
{ test: '+' }