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

Javascript Express.js:转义符号(POST请求),javascript,node.js,express,Javascript,Node.js,Express,客户端: $.post("test=+"); 服务器端: app.post('/test', function(req, res) { console.log(req.body.test); // Print is empty. }); 如何逃避呢?像“&,+etc”这样的符号不会打印。我注意到的第一件事是,您试图发布到/test,但没有向该url发送密钥/值对。例如,posting/test=+即使在/test处有一个路由处理程序,也会给我一个404,因为express将请求视为“

客户端:

$.post("test=+");
服务器端:

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

如何逃避呢?像“&,+etc”这样的符号不会打印。

我注意到的第一件事是,您试图发布到
/test
,但没有向该url发送密钥/值对。例如,posting
/test=+
即使在/test处有一个路由处理程序,也会给我一个404,因为express将请求视为“/test=+”,而不仅仅是“/test”

其次,您需要对其进行url编码,而不是html编码。这对我很有用:

$.post('/test', 'test=%2B');
以下是我在express服务器上的代码:

router.post('/test', function(req, res) {
    console.log(req.body);
    res.send('received');
});
它产生:

{ test: '+' }