使用Node JS的HTML表单数据到MySQL无效

时间:2018-12-04 09:48:11

标签: javascript html mysql node.js forms

我一直在使用nodejs在mysql上使用简单的html形式进行练习,但是它似乎不起作用,该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!");
    }
});
});

1 个答案:

答案 0 :(得分:0)

  

未捕获的ReferenceError:在test.js:1中未定义require

您已将此问题标记为

您需要使用Node.js 运行JavaScript。

https://nodejs.org/en/下载它,然后安装它,然后运行node test.js

  

不允许加载本地资源:file:/// C:/ newuser

您需要从使用Node.js编写的Web服务器加载HTML文档。否则,action URL不会指向正确的位置。

…但是首先您需要完成Web服务器的编写。在the Hello World example中查看Express.js(您也在使用)。

您需要致电listen。这将为您提供一个指向浏览器的URL。