javascript - 调用 app.use/app.post(其中 INSERT INTO a db)以获取表单值
问题描述
我用 express 创建了一个 app.use,以便在数据库中插入值。当用户单击注册时,我想获得这些值。
我的表格:
<form class="form-signin" method="POST">
<h1 class="h3 mb-3 font-weight-normal">Register</h1>
<label for="inputEmail" id="lblEmail" class="sr-only">Email address</label>
<input type="email" id="inputEmail" class="form-control" placeholder="Email
address" name="email" required autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" id="inputPassword" class="form-control"
placeholder="Password" name="passworf" required>
<label for="repeatInputPassword" class="sr-only">Repeat Password</label>
<input type="password" id="repeatinputPassword" class="form-control"
placeholder="Repeat Password" required>
<label for="name" class="sr-only">Name</label>
<input type="name" id="inputName" class="form-control" placeholder="Name"
name="name" required>
<label for="surname" class="sr-only">Surname</label>
<input type="surname" id="inputSurname" class="form-control"
placeholder="Surname" name="surname" required>
<div class="checkbox mb-3">
</div>
<button class="btn btn-lg btn-primary btnblock-"
type="submit">Register</button>
<p class="mt-5 mb-3 text-muted">© 2017-2018</p>
</form>
app.use 用于在数据库中插入值。我在下面使用 MySQL:
var express = require('express');
var app = express();
var bodyParser = require('body-parser')
var http = require('http');
var urlencodedParser = bodyParser.urlencoded({extended: false});
app.use('/', urlencodedParser, function(req,res, next){
var adminUser = req.body.email;
var adminPass = req.body.password;
var adminName = req.body.name;
var adminSurname = req.body.surname;
console.log(req.body);
var sql = "INSERT INTO admins VALUES(null, ?, ?, ?, ?) ";
con.query(sql, [ adminUser, adminPass, adminName, adminSurname],
function(error, rows, fields){
if(!!error) {
console.log('Query Failed' + error.message);
} else {
console.log('Query Successful');
console.log(rows.insertId);
next();
}
});
})
app.listen(5500);
解决方案
您需要创建表单也可以发布的Express POST 路由。
app.post('/', function (req, res) {
// Process form here
var adminUser = req.body.email;
var adminPass = req.body.password;
var adminName = req.body.name;
var adminSurname = req.body.surname;
// etc.
});
路径应与表单操作属性匹配
推荐阅读
- debian - minishift 以 kvm 的防火墙规则错误开始
- python - 如何在 Python AWS CDK 中使用内部函数?
- c++ - 当绝对没有任何作用时,如何将数据从 csv 放入 c++ 中的字符串向量?
- python - 迭代列表的每个可能的 n 采样
- angular - Angular - 处理未知路线以确定行为
- c# - 如何删除GridView的第一行
- here-api - 来自地理编码自动完成的坐标
- java - 如何在窗口内创建 LibGDX 文本输入?(没有弹出)
- .net - IIS 从响应中删除标头 - Server:Microsoft-HTTPAPI/2.0 when 400 Bad Request
- c# - 如何创建鼠标光标的自定义幽灵轨迹?