我正在从客户端向服务器发送数据。
// 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"}
答案 0 :(得分:0)
默认情况下,除非您指定其他内容,否则是发送URI编码的数据并告知服务器它是如何发送的。如果您要发送JSON,则需要通过指定contentType
告诉浏览器(和jQuery)以及服务器:
$.ajax({
url: "/sendMessage",
type: "POST",
contentType: "application/json",
data: JSON.stringify(messageObj)
})