inde.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="./css/index.css"/>
</head>
<body>
<div><h2>注册</h2></div><form>
用户名: <input class="user" id="user" autocomplete="on" type="text" />
<br />
密码: <input autocomplete="off" class="password" id="password" type="password" /></form>
<br />
<button class="btn" id="btn">注册</button>
<button class="btn" id="btn_zc"><a href="html/registered.html">登录</a></button>
</body>
</html>
<script type="text/javascript" src="./js/jquery.js"></script>
<script type="text/javascript">
$('#btn').on('click',function(e){
let user = $('#user').val();
let password = $('#password').val();
let data = {
name:user,
pwd:password,
}
if(user != '' && password != ''){
ajax(data);
}
return false;
})
function ajax(data){
$.ajax({
type:'POST',
url:'http://localhost:5200/',
data:data,
async:false,
success:function(res){
if(res.status == 200){
callback(res);
$('#user').val('');
$('#password').val('');
}
}
})
}
function callback(res){
console.log(res)
alert(res.Tag)
}
</script>
login.js //nodeJS
//express框架引用
const express = require('express')
global.successful = '注册失败';
//引入数据库
const mysql = require('../Model/mysql.js');
//跨域
const cors=require('cors');
//以下注释部分据说是另一种解决跨域问题的方法
// app.all('*', function(req, res, next) { //设置跨域访问
// res.header("Access-Control-Allow-Origin", "*");
// res.header("Access-Control-Allow-Headers", "X-Requested-With");
// res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
// res.header("X-Powered-By",' 3.2.1');
// res.header("Content-Type", "application/json;charset=utf-8");
// next();
// })
//
const bodyParser = require('body-parser');
//实例化框架
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(cors())//解决跨域
//保存传过来的值
var data,sqlAdd;
//定义接口路由
app.get('/',function(req,res){
res.status(200),
res.json(req.body)
})
// POST method route
app.post('/', function (req, res) { post_async(req, res);})
async function post_async(req, res){
res.status(200),
res.header('Access-Control-Allow-Origin','*')
sqlAdd = req.body;
let SQL = await mysql.sql_operation(sqlAdd);
console.log(SQL+'--'+"数据插入完成")
data = {
status:res.statusCode,
Tag:SQL,
};
res.send(data);
successful = '注册失败';
data = {};
console.log(successful+"--"+"恢复默认值");
}
const server=app.listen(5200,function () {
const {address,port}=server.address()
console.log('http server is running http://%s :%s', address, port);
})
//mysql.js
//数据库插入
function sql_operation(data){
var addsql = new Promise(async function(resolve, reject){
const express = require('express');
const mysql = require('mysql');
const path = require('path')
const app = express();
app.use(express.static(path.join(__dirname,'/')));
var connection = mysql.createConnection({
host: 'localhost',
database: 'Mysql',
user: 'root',
password: '123456',
});
connection.connect();
// var sql = `SELECT * FROM login where name="${data.name}" and pwd="${data.pwd}" `;
var sql = `INSERT INTO login(name,pwd) VALUES(?,?)`;
var add_sql = [String(data.name),String(data.pwd) ,];
//var contrast = 'FROM login where';
//数据库查询
var query = await new Promise((resolve, reject)=>{
connection.query(sql,add_sql, function(err, result) {
if(err){
console.log('[INSERT ERROR] - ',err.message);
return;
};
console.log('--------------------------SELECT----------------------------');
console.log(result);
console.log('------------------------------------------------------------\n\n');
if(result.affectedRows == 1){
successful = '注册成功'
}
console.log(successful)
resolve(successful);
});
})
//关闭链接
connection.end();
resolve(successful);
})
return addsql
}
module.exports = {sql_operation};
