nodejs登录(ajax,session,无加密,跳转,无分页)

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>
        用户名:<input type="text" id="uname"><br/>
        密码:<input type="password" id="upwd"><br/>
        <input type="submit" value="提交" id="btn_smt">
    </div>

    <script src="js/jquery.min.js"></script>
    <script>
        $("#btn_smt").click(function(){
            var uname=$("#uname").val();
            var upwd=$("#upwd").val();
            $.ajax({
                type:"post",
                url:"/login",
                data:{uname:uname,upwd:upwd},
                success:function(data){
                    if(data.code>0){
                        location.href="userlist.html";
                    }else{
                        alert(data.msg);
                    }
                },
                error:function(){
                    alert("网络故障,请检查");
                }
            })
        });
    </script>
</body>
</html>
userlist.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        a{
            color: red;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <a id="logout">退出</a><br/>
    <table>
        <thead>
            <tr>
                <td>tid</td>
                <td>tname</td>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>

    <script src="js/jquery.min.js"></script>
    <script>
        $.ajax({
            type:"get",
            url:"/userlist",
            success:function(data){
                if(data.code==-1){
                    location.href="login.html";
                }
                var html="";
                for(var i=0;i<data.length;i++){
                    html+="<tr>";
                    html+="<td>"+data[i].uid+"</td>";
                    html+="<td>"+data[i].uname+"</td>";
                    html+="</tr>";
                }
                $("tbody").html(html);
            },
            error:function(){
                alert("网络故障,请检查");
            }
        });

        $("#logout").click(function(){
            $.ajax({
                type:"get",
                url:"/logout",
                success:function(data){
                    if(data.code==1){
                        location.href="login.html";
                    }
                },
                error:function(){
                    alert("网络故障,请检查");
                }
            });
        });
    </script>
</body>
</html>
app.js

/**
 * Created by web-01 on 2018/1/5.
 */
//1、加载对应模块
var http=require("http");
var express=require("express");
var session=require("express-session");
var cookieParser=require("cookie-parser");
var bodyparser=require("body-parser");
//2、创建连接池
var m=require("./init.js");
var pool=m.pool;
//3、创建服务器 3000
var app=express();
var server=http.createServer(app);
server.listen(3000);
//4、加载静态目录 public
app.use(express.static('public'));
//5、配置 body-parser
app.use(bodyparser.urlencoded({extended:false})); //bodyparser全小写
//6、配置session
app.use(cookieParser());//这里要加()
app.use(session({
    secret:'spflinux',
    name:'adminapp',
    cookie:{maxAge:60*1000*30},
    resave: false,
    saveUninitialized: true
}));

//7、处理登录请求
app.post("/login",(req,res)=>{
    var uname=req.body.uname;
    var upwd=req.body.upwd;
    var sql="SELECT uid FROM t_user WHERE uname=? AND binary upwd=?"; //一定记得加binary区分大小写
    pool.getConnection((err,conn)=>{
        if(err) throw err;
        conn.query(sql,[uname,upwd],(err,result)=>{
            if(err) throw err;
            if(result.length>0){
                req.session.sign=true;
                res.json({code:1,msg:"登录成功"});
            }else{
                res.json({code:-1,msg:"用户名或密码有误"});
            }
            conn.release();
        })
    })
})

app.get("/",(req,res)=>{
        res.sendFile(__dirname+"/public/"+"login.html");
})

app.get('/userlist',(req,res)=>{
    console.log("req.session.sign="+req.session.sign);
    if(req.session.sign==true){
        var sql="SELECT uid,uname FROM t_user";
        pool.getConnection((err,conn)=>{
            if(err) throw err;
            conn.query(sql,(err,result)=>{
                if(err) throw err;
                res.json(result);
            });conn.release();
        })
   }else{
        res.json({code:-1,msg:"需登录"});
    }
})

app.get('/logout',(req,res)=>{
    req.session.sign=false;
    //console.log("退出");
    res.json({code:1,msg:"退出"});
})

init.js

/**
 * Created by web-01 on 2018/1/5.
 */
const mysql=require("mysql");
var pool=mysql.createPool({
    host:'127.0.0.1',
    user:"root",
    password:"",
    database:"test",
    port:3306,
    connectionLimit:25 //连接数量限制
});

module.exports.pool=pool;






  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值