javascript - 使用 Ajax/jQuery 发出 POST 请求以将行插入到 Node js 服务器上的 mysql 表中

标签 javascript jquery mysql ajax express

我有一个表单,它接受姓名、年龄等信息,目标是通过客户端提交这些信息,以将该数据插入到 mysql 表行中。但是,我无法获取要插入的数据。这是我的客户端 JS 代码(表单 id 为“form1”,表单提交按钮 id 为“formSub”,mysql 表名称为“formTable”):

function insertData() {
    document.getElementById('formSub').addEventListener('click', function(event) {
        var formQuery = $("#form1").serialize();

        $.post('/insert', formQuery);
    });
}

这是我的服务器端代码(node.js):

app.post('/insert', function(req, res, next) {
    mysql.pool.query("INSERT INTO formTable (`name`, `age`, `city`) VALUES (?, ?, ?)", 
        [req.body.name, req.body.age, req.body.city], function(err, result) {
            if (err) {
                next(err);
                return;
            }
    });
});

这是我得到的错误:

POST http://ipaddress:3000/insert 500 (Internal Server Error)    jquery.min.js:4

Navigated to http://ipaddress:3000/?name=Bob&age=20&city=NYC

该表单似乎是通过查看导航到的内容来获取数据,但是当我在 mysql 中查看该数据时,我在 mysql 表中没有看到该数据。我不知道该怎么办。

最佳答案

“导航至http://ipaddress:3000/?name=Bob&age=20&city=NYC” 这是否意味着如果您使用 URL 编码,它会以某种方式通过 GET 而不是 POST 发送数据?

这是使用 Express 3 还是 4?

关于javascript - 使用 Ajax/jQuery 发出 POST 请求以将行插入到 Node js 服务器上的 mysql 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37507426/

相关文章:

javascript - 隐藏/显示元素 jquery

javascript - 如何在 Yii2 中使用 post 请求在 ajax 调用中发送多个参数

javascript - Kendo UI 自动完成、名称搜索

javascript - jquery.turbolinks 无法处理 $(document).ready 在 Rails 中

javascript - 获取插入符号位置的常见解决方案会返回奇怪的结果

php - MySQL Varchar 类型输出开始/结束空格

php - php代码中的sql查询

javascript - 使用循环并查找 html 元素的值 JavaScript

javascript - 多个数组元素的总和

php - Laravel 使用多个 where 子句选择数据并返回任何数据透视表数据