Node.js req.body套接字写入

时间:2014-12-11 14:51:26

标签: node.js sockets express body-parser

我有一个小型的Node.js webapp,它应该通过套接字广播帖子。这里的主要问题是,帖子的req.body部分是Object类型。通过toString()函数转换只会转换typename,所以你只能看到" object":

req.body.toString()
"[object Object]"

con是一个dict.js字典。顺便说一下,非常好。套接字位于条件的值部分。

这里是邮政编码:

router.post('/message', function (req, res) {
    con.forEach(function (value, key) {
        if (key != user) {
            debug("BROADCAST: " + user + " -> " + key);
            value.write(req.body);
        }
    });
    var answer = "[{\"urls\":\"here_be_dragons"}]";
    res.send(answer);
});

我也试过bodyParser,但是typeof(req.body)总是返回" object" (虽然它可能应该这样做,当我设置router.use(bodyParser.text()))时:

typeof(req.body)
"object"

我也可以看到req.body对象中的信息是正确的。

所以我的问题是:如何将req.body变为具有正确信息的字符串类型?

2 个答案:

答案 0 :(得分:1)

我用querystring模块解决了它!

var qs = require('querystring');

stringify和unescape方法对我有用:

value.write(qs.unescape(qs.stringify(req.body)));

答案 1 :(得分:0)

我认为你想要JSON表示。您可以这样做:JSON.stringify(req.body);