要快速做一个演示系统,由于后台缺乏,想自己用nodejs搭建.
虽然都是静态页面,但是要完成登录功能(无需注册,可以直接数据库分配密码),登录之后才能跳转到页面首页,若未登录而直接输入首页路径,则跳转到登录页面.
由于是小白不太会弄.请各位帮忙指引方向,怎么能快速完成
代言2017-06-10 09:51:02
可以使用express的session,然后写一个checkLogin的方法对!req.session.user是否登录进行判断。然后再写一份checkNoLogin的方法然后对req.session.user进行判断。
漂亮男人2017-06-10 09:51:02
html我就不给你写了,基础的表单内容
js的ajax请求:
$("#userLogin").click(function(){
$.ajax({
url: "/login",
type: "GET",
data: {
username: $("#email-one").val(), // 用户名和密码
password: $("#password-one").val()
},
success: function(data){
if(data.status==1){
window.location.href='index.html'; // 请求成功后到你的主页
}else{
alert(data.msg);
}
},
error: function(){
layer.msg('访问失败', hint);
}
});
});
下面的代码如果看不懂的话,可以参考/a/11...
var express=require("express");
var events = require('events');
var app=express();
var session=require("session");
var path=require("path");
var mysql=require("mysql");
var dirname=__dirname;
app.use(express.static(path.join(__dirname, 'project')));
app.get("/login",function(req,res){
// 连接数据库
var connection=mysql.createConnection({
host:"localhost",
user:"root",
password:"数据库密码",
database:"node"
});
connection.connect();
var sql="select * from user where username='"+req.query.username+"' and password='"+req.query.password+"'";
connection.query(sql,function(err,result){
if(err){
res.end("登陆失败");
}
if(result.length==0){
res.json({status:0,msg:“用户名或密码不正确”});
}else{
req.session.user=req.query.username;
req.session.isLogin=true;
res.json({status:1,msg:“登录成功”});
}
})
connection.end();
})
app.listen(8081);
后面页面的访问必须有session信息,你可以在每个页面向后台发出请求。然后你用node检测session内容,ajax再做出动作。大概的思路的这样,我也是小白,希望可以帮到你。