首页  >  问答  >  正文

javascript - nodejs登录系统控制静态页面跳转

要快速做一个演示系统,由于后台缺乏,想自己用nodejs搭建.
虽然都是静态页面,但是要完成登录功能(无需注册,可以直接数据库分配密码),登录之后才能跳转到页面首页,若未登录而直接输入首页路径,则跳转到登录页面.
由于是小白不太会弄.请各位帮忙指引方向,怎么能快速完成

高洛峰高洛峰2687 天前811

全部回复(3)我来回复

  • 漂亮男人

    漂亮男人2017-06-10 09:51:02

    你需要 koa and koa-router

    回复
    0
  • 代言

    代言2017-06-10 09:51:02

    可以使用express的session,然后写一个checkLogin的方法对!req.session.user是否登录进行判断。然后再写一份checkNoLogin的方法然后对req.session.user进行判断。

    回复
    0
  • 漂亮男人

    漂亮男人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再做出动作。大概的思路的这样,我也是小白,希望可以帮到你。

    回复
    0
  • 取消回复