节点/快速服务器上收到的JSON格式

时间:2015-01-04 17:19:53

标签: ajax json node.js express

我正在从客户端向服务器发送数据。

// client
var messageObj = {};
messageObj.fromUserId = 1;
messageObj.messageContent = "print this";
$.ajax({
    url: "/sendMessage",
    type: "POST",
    data: JSON.stringify(messageObj)
})


// server
app.post('/sendMessage', function (req, res, next) {
        console.log(req.body);
        return res.status(200);
    });

为什么是console.log输出,这个:

{ '{"fromUserId":1,"messageContent":"print this"}': '' }

而不是这个? (我怎样才能得到它?)

{"fromUserId":1,"messageContent":"print this"}

1 个答案:

答案 0 :(得分:0)

默认情况下,除非您指定其他内容,否则是发送URI编码的数据并告知服务器它是如何发送的。如果您要发送JSON,则需要通过指定contentType告诉浏览器(和jQuery)以及服务器:

$.ajax({
    url: "/sendMessage",
    type: "POST",
    contentType: "application/json",
    data: JSON.stringify(messageObj)
})