我有一个表单,它接受姓名、年龄等信息,目标是通过客户端提交这些信息,以将该数据插入到 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/