javascript - NodeJS req.body JSON 有但没有值

标签 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);
    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>

如果我按“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);
        }
    });
});

关于javascript - NodeJS req.body JSON 有但没有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53703453/

相关文章:

javascript - 使用 jQuery 处理这些数据的正确方法是什么?

javascript - JS 删除除特定 ID 及其子元素之外的所有元素

javascript - 当其他数组的序列发生变化时,如何使数组自动更改?

javascript - 如何使用 Javascript 或 jQuery 在 div 中呈现 html 代码

jquery - 我可以获取图像并通过ajax加载到div中吗

node.js - 无法从 session Express 获取用户 ID

node.js - 在 webpack 中使用样式表的最佳方式是什么?

javascript - 有没有办法在不发布到NPM的情况下将模板组件本地集成到框架中?

javascript - JQUERY scrollTo 执行后不会让我滚动

javascript - node.js 模块应该导出命名函数还是对象?