Javascript NodeJS req.body JSON不存在,但没有值

Javascript NodeJS req.body JSON不存在,但没有值,javascript,jquery,node.js,Javascript,Jquery,Node.js,index.js: var express = require('express'); var server = express(); var bodyParser = require('body-parser'); server.use(express.static('public')); server.use(bodyParser.json()); server.post('/saveentry', (req, res) => { console.log(req.body)

index.js:

var express = require('express');
var server = express();
var bodyParser = require('body-parser');

server.use(express.static('public'));
server.use(bodyParser.json());

server.post('/saveentry', (req, res) => {
    console.log(req.body);
    res.send("Eintrag gespeichert");
});

server.listen(80, 'localhost');
index.html:

<html>
    <head>
        <title>Gästebuch</title>
    </head>
    <body>
        <div id="guestbook"></div>
        <input type="text" id="entry" name="entry">
        <button id="submit">Senden</button>

        <script
        src="https://code.jquery.com/jquery-3.3.1.min.js"
        integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
        crossorigin="anonymous"></script>
        <script>
            var formData = {
                entry: $("#entry").val()
            }
            $('#submit').click(function() 
            {
                $.ajax({
                    type: 'POST',
                    url: '/saveentry',
                    data: JSON.stringify(formData),
                    dataType: "text",
                    contentType : "application/json",
                    success: function (data) {
                        console.log(data);
                    }
                });
            });
        </script>
    </body>
</html>

Gästebuch
森登
var formData={
分录:$(“#分录”).val()
}
$(“#提交”)。单击(函数()
{
$.ajax({
键入:“POST”,
url:“/saveentry”,
数据:JSON.stringify(formData),
数据类型:“文本”,
contentType:“应用程序/json”,
成功:功能(数据){
控制台日志(数据);
}
});
});
这是我按下“Senden”时控制台中的结果: {条目:''}


如何获取表单中输入的文本?我还能试什么?我没有在线找到解决方案。

您应该从回调函数中的输入接收值:

$('#submit').click(function() {
    var formData = {
        entry: $("#entry").val()
    };
    $.ajax({
        type: 'POST',
        url: '/saveentry',
        data: JSON.stringify(formData),
        dataType: "text",
        contentType : "application/json",
        success: function (data) {
            console.log(data);
        }
    });
});