注册这部分我自己写了下,但是用不了。该怎么改
来源:10-12 开发路由
菜鸟x
2019-05-17
<!DOCTYPE html>
<html>
<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">
<title>注册博客</title>
<style type="text/css">
body {
margin: 0 20px;
line-height: 1;
}
a {
text-decoration-line: none;
}
.title-wrapper {
margin-bottom: 10px;
}
.title-wrapper input {
width: 300px;
}
.content-wrapper textarea {
width: 300px;
height: 150px;
}
</style>
</head>
<body>
<h1 style="border-bottom: 1px solid #ccc; padding-bottom: 10px;">注册用户</h1>
<div>
<div class="title-wrapper">
<p>用户名:</p><input type="text" id="username">
</div>
<div class="title-wrapper">
<p>真实姓名:</p><input type="text" id="realname">
</div>
<div class="content-wrapper">
<p>密码:</p><input type="password" id="password"></input>
</div>
<div>
<button id="btn-create">注册</button>
</div>
</div>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
// 发送 post 请求
function post(url, data = {}) {
return $.ajax({
type: 'post',
url,
data: JSON.stringify(data),
contentType: "application/json",
})
}
// 获取 dom 元素
$username = $('#username')
$realname = $('#realname')
$password = $('#password')
$btnCreate = $('#btn-create')
// 提交数据
$btnCreate.click(() => {
const username = $username.val().trim()
const realname = $realname.val().trim()
const password = $password.val().trim()
if (username === '' || realname === '' || password === '') {
alert('用户名或密码或真实姓名不能为空')
return
}
const url = '/api/user/register'
const data = {
username,
password,
realname
}
post(url, data).then(res => {
console.log(res)
if (res.error !== 0) {
alert('操作错误')
return
}
alert('注册成功')
location.href = '/login.html'
})
})
</script>
</body>
</html>
// 上面是注册的html代码
router.post('/register', (req, res, next )=> {
let {username, password, realname} = req.body
password = genPassword(password)
const result = register(username, password, realname)
return result.then(data => {
if (data) {
return new SuccessModel()
}
return new ErrorModel('注册失败')
})
})
// 上面是routes的注册代码
const register = (username, password, realname) => {
username = escape(username)
// 加密生成密码
password = genPassword(password)
password = escape(password)
const sql = `
insert into users (username, password, realname)
values (${username}, ${password}, '${realname}');
`
return exec(sql).then(insertData => {
if (insertData.affectedRows > 0) {
return true
} else {
return false
}
})
}
// 上面是controller的注册代码


写回答
1回答
-
具体遇到什么问题了?
072019-05-17
相似问题