Ajax代码:
$(function () {
var $register = $(".register");
var $login = $(".login");
$login.find(".submit").on('click',function () {
});
$register.find('button').on('click', function(){
// 通过ajax提交请求
$.ajax({
type:'post',
url:'/api/user/register',
data:{
username: $register.find('[name="username"]').val(),
password: $register.find('[name="password"]').val(),
repassword: $register.find('[name="repassword"]').val(),
email: $register.find('[name="email"]').val()
},
dataType:'json',
success: function (result) {
console.log(result);
}
});
})
})
后端代码:
/**
* Created by Administrator on 2018/4/16.
*/
var express = require('express');
var router = express.Router();
//统一返回格式
var responseData;
router.use(function (req, res, next) {
responseData = {
code: 0,
message:''
}
next();
});
/*
* 用户注册
* 注册逻辑
*
* 1.用户名不能为空
* 2.密码不能为空
* 3.两次输入密码必须一致
*
* 1.用户名是否已经被注册
* 数据库查询
* */
router.post('/user/register', function (req, res, next) {
var username = req.body.username;
var password = req.body.password;
var repassword = req.body.repassword;
var email = req.body.email;
console.log(username,password,repassword,email);
//用户名是否为空
if(username == ''){
responseData.code = 1;
responseData.message = '用户名不能为空';
res.json(responseData);
return;
}
//密码不能为空
if(password == ''){
responseData.code = 2;
responseData.message = '密码不能为空';
res.json(responseData);
return;
}
// 两次输入的密码不一致
if(password != repassword){
responseData.code = 3;
responseData.message = '两次输入的密码不一致';
res.json(responseData);
return;
}
responseData.message = '注册成功';
res.json(responseData);
});
module.exports = router;
app.js:
/**
* Created by Administrator on 2018/4/16.
* 应用程序的启动(入口)文件
*/
//加载express模块
var express = require('express');
//加载模板处理模块
var swig = require('swig');
//加载数据库
var mongoose = require('mongoose');
//加载body-parser,用来处理post提交过来的数据
var bodyParser = require('body-parser');
//创建app应用=>NodeHS Http.createServer()
var app = express();
//设置静态文件托管
//当用户访问的url以/public开始,那么直接返回对应__dirname + '/public'下的文件
app.use('/public', express.static(__dirname + '/public'));
// app.use('/static', express.static('public'));
//配置应用模板
//定义当前应用所使用的模板引擎
//第一个参数,模板引擎的名称,同时也是模板文件的后缀,第二个参数表示用于解析处理模板内容的方法
app.engine('html', swig.renderFile);
//设置模板文件存放的目录,第一个参数必须是views,第二个参数是目录
app.set('views', './views');
/*注册所使用的模板引擎,第一个参数必须是view engine,第二个参数和app.engine这个方法中定义的模板引擎的名称(第一个参数)是一致的*/
app.set('view engine', 'html');
//在开发过程中,需要取消模板缓存
swig.setDefaults({cache: false});
//bodyparser设置
app.use( bodyParser.urlencoded({extended:true}) );
/*
* 根据不同的功能划分模块
* */
app.use('/admin', require('./routers/admin'));
app.use('/api', require('./routers/api'));
app.use('/', require('./routers/main'));
//监听http请求
mongoose.connect('mongodb://localhost:27017/blog',function (err) {
if(err){
console.log('数据库连接失败');
}else{
console.log('数据库连接成功');
app.listen(8081);
}
});
HTML代码:
用户名:
密码:
确认密码:
邮箱:
注册
报错问题: