【发布时间】:2019-05-05 16:56:02
【问题描述】:
我一直在使用nodejs练习一个简单的html表单到mysql,但它似乎不起作用,html称为index.html,我的nodejs文件称为test.js,这是我的代码:
我的html
<!DOCTYPE html>
<html>
<head>
<title>email test form</title>
</head>
<body>
<form method="post" action="/data">
<label for="email">Voer je email in </label> <input type="email"
name="email"></input>
<input type="submit" value="submit">
</form>
<script src="test.js"></script>
</body>
</html>\
我的节点 js javascript:
var express = require('express');
var app = express();
var mysql = require('mysql');
var bodyParser = require ('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(express.static('public'));
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "Bionicle123!",
database: "account"
});
con.connect(function(err){
if (err) throw err;
console.log("Je bent verbonden aan de database!");
});
app.post("/data", function(req, res) {
var userEmail = req.body.email;
console.log(userEmail);
var sql = "INSERT INTO persoon (email) VALUES (?)";
con.query(sql, userEmail, function (err, data) {
if (err) {
console.log("Failed ah mattie!");
} else {
console.log("Gelukt ah mattie!");
}
});
});
【问题讨论】:
-
“它似乎不起作用”是an unhelpful description of the problem。发生什么了?有错误信息吗?
console.log(userEmail);记录了什么?回调函数记录什么? -
它只是不起作用,当我在表单中输入电子邮件并提交时,它不会进入 mysql 数据库,console.log(userEmail) 没有显示任何内容。
-
这表明浏览器正在请求错误的 URL。查看浏览器开发者工具中的网络标签。
-
Uncaught ReferenceError: require is not defined at test.js:1
-
我想不出任何不支持
require的Node.js 版本。您必须尝试在不是 Node.js 的东西中运行您的脚本。
标签: javascript html mysql node.js forms