我一直在使用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>\
我的 Node.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!");
}
});
});
最佳答案
Uncaught ReferenceError: require is not defined at test.js:1
您已标记此问题 node.js 。
您需要使用 Node.js 运行 JavaScript。
从https://nodejs.org/en/下载,然后安装它,然后运行node test.js
。
Not allowed to load local resource: file:///C:/newuser
您需要从使用 Node.js 编写的网络服务器加载 HTML 文档。否则,action
URL 将不会指向正确的位置。
...但首先您需要完成 Web 服务器的编写。看the Hello World example对于 Express.js(您也在使用)。
您需要调用listen
。这将为您提供浏览器指向的 URL。
关于javascript - 使用 Node JS 将 HTML 表单数据传输到 MySQL 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53609991/