我正在尝试使用Node.js将数据发布到MySQL数据库。
这是我的htmlHTML表单:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>form</title>
</head>
<body>
<h1>This is my form</h1>
<!-- local host to be changed? -->
<form action="http://localhost:3000/index.html" method="POST">
First name:<br>
<input type="text" name="firstname" value="John">
<br>
Last name:<br>
<input type="text" name="lastname" value="Doe">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
这是我的MySQL.js
:
var mysql = require('mysql');
var connection = mysql.createConnection(
{
host : 'mysqlhost',
port : '3306',
user : 'myuser',
password : 'mypassword',
database : 'myuser'
} ); connection.connect(); var query = connection.query('SELECT * FROM http://localhost:3000/index.html');
query.on('error', function(err) {
throw err; });
query.on('fields', function(fields) {
console.log(fields); })
query.on('result', function(row) {
console.log(row); }); connection.end();
这甚至可能吗?
答案 0 :(得分:2)
是的,这是可能的,但你绝对不会朝着正确的方向前进。我建议学习如何制作一个简单的REST API节点应用程序来开始。这个tutorial是一个很好的起点。我建议使用Express,因为它简化了处理POST / GET请求的任务。
以下是可以满足您需求的初学者代码。
请注意我在/data
部分中使用localhost:3000/index.html
代替<form action=...>
的方法。这通常称为REST api。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>form</title>
</head>
<body>
<h1>This is my form</h1>
<!-- local host to be changed? -->
<form action="/data" method="POST">
First name:<br>
<input type="text" name="firstname" value="John">
<br>
Last name:<br>
<input type="text" name="lastname" value="Doe">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
var app = require('express')();
var bodyParser = require('body-parser');
var path = require('path');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname, 'index.html'));
});
app.post('/data', function(req, res) {
console.log(req.body.firstname);
console.log(req.body.lastname);
// Add these values to your MySQL database here
});
app.listen(3000);
app.js
index.html
npm install express
npm install body-parser
node app.js
然后只需转到浏览器中的localhost:3000
即可。