nodejs req.body 在 ajax post 请求的情况下未定义

nodejs req.body undefined in case of ajax post requests

奇怪的问题,我无法解释。我创建 ajax post 请求

 $.ajax({  
        type: "POST",  
        url: "/like",  
        data: {"topic": "123123"},  
        success: function(dataString) {               
            console.log('123123'); 
        }  
    }); 

或者像这样:

var xhttp = new XMLHttpRequest(); 
xhttp.open("POST", "/like", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("fname=Henry&lname=Ford"); 

在服务器端(NodeJs)我有简单的代码

app.post('/like', function (req, res) {
    console.log(req.body);
    res.status(201).send('+1')
});

我不明白的是,为什么我在发送 ajax post 请求时总是收到 undefined。

您需要使用正文解析器,请参阅:nodejs。dev/learn/get-http-request-body-data-using-nodejs