我有一个小型的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变为具有正确信息的字符串类型?
答案 0 :(得分:1)
我用querystring模块解决了它!
var qs = require('querystring');
stringify和unescape方法对我有用:
value.write(qs.unescape(qs.stringify(req.body)));
答案 1 :(得分:0)
我认为你想要JSON表示。您可以这样做:JSON.stringify(req.body);