注册这部分我自己写了下,但是用不了。该怎么改

来源: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回答

双越

2019-05-17

具体遇到什么问题了?

0
7
菜鸟x
非常感谢!
2019-05-17
共7条回复

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4122 学习 · 2022 问题

查看课程