Express.js:转义符号(POST请求)

时间:2014-06-20 12:44:49

标签: javascript node.js express

客户端:

$.post("test=+");

服务器端:

app.post('/test', function(req, res) {
    console.log(req.body.test); // Print is empty.
});

如何逃脱它?像“&,+ etc”这样的符号不会打印出来。

1 个答案:

答案 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: '+' }