下载模块:npm i crypto --save
eg:crypto.createHash(‘md5’).update(加密数据).digest(‘hex’);
代码详解:
html部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css">
<title>Document</title>
</head>
<body>
<div class="container">
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
<form>
<div class="form-group">
<label for="exampleInputEmail1">用户名</label>
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputEmail2">密码</label>
<input type="password" class="form-control" id="exampleInputEmail2" placeholder="Password">
</div>
<div class="form-group">
<input type="submit" class="btn btn-success" value="注册">
</div>
</form>
</div>
</div>
</body>
</html>
<script src="./node_modules/jquery/dist/jquery.min.js"></script>
<script src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<script>
$(".btn-success").click(function(){
$.ajax({
url:"http://localhost:8888/",
type:"post",
data:{"uname":$(".form-control").eq(0).val(),"upwd":$(".form-control").eq(1).val()},
success(data){
console.log(data);
}
})
//禁止表单默认事件
return false;
})
</script>
js部分:
var express = require("express");
var mongoose = require("mongoose");
var bodyParser = require("body-parser");
var crypto = require("crypto");
var uE = bodyParser.urlencoded({extended:false});
var app = express();
var i = 0;
const User = mongoose.model("userTable", {
_id:Number,
uname: String,
upwd: String
})
app.use(function(req,res,next){
// 解决跨域
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE,OPTIONS');
next()
})
app.post("/",uE, function (req, res) {
//加密密码
var htmlText = req.body.upwd;
var htmlPwd = crypto.createHash('md5').update(htmlText).digest('hex');
mongoose.connect("mongodb://localhost:27017/demo", { useNewUrlParser: true }, function (err) {
if (err) {
console.log("连接失败");
} else {
console.log("连接成功");
User.find({"uname":req.body.uname}).count().then((ok)=>{
if(ok==0){
const user = new User({
_id:2,
uname: req.body.uname,
upwd: htmlPwd
})
user.save().then((ok) => {
res.send(ok);
})
}else if(ok==1){
console("注册失败");
}
})
i++;
}
})
//删除
// User.remove().then((ok)=>{
// console.log(ok);
// res.send(ok);//把数据发送到前端
// })
})
app.listen(8888);