以用戶登錄為例,廢話不多說,直接上代碼。
//js操作 Ajax請求代碼
$("#login-submit").click(function(){
//do something
var loginData={};
loginData.userName=$("#userName").val();
loginData.userPassword=$("#userPassword").val();
console.log(loginData);
$.ajax({
data: loginData,
url: '/login',
type:"post",
dataType: 'JSON',
success: function(data){
console.log(data);
location.reload()
},
error: function(textStatus){
console.log('error ' + textStatus );
}
});
})
//node路由代碼
app.post('/login', function (req, res) { //生成密碼的 md5 值 var md5 = crypto.createHash('md5'), password = md5.update(req.body.userPassword).digest('hex'); //檢查用戶是否存在 User.get(req.body.userName, function (err, user) { if (!user) { console.log('error', '用戶不存在!'); req.flash('error', '用戶不存在!'); return res.redirect('/login');//用戶不存在則跳轉到登錄頁 } //檢查密碼是否一致 if (user.password != password) { console.log('error', '密碼錯誤!'); req.flash('error', '密碼錯誤!'); return res.redirect('/login');//密碼錯誤則跳轉到登錄頁 } //用戶名密碼都匹配后,將用戶信息存入 session req.session.user = user; console.log(user); req.flash('success', '登陸成功!'); res.json({"result":{message:"success"}}); }); });
