搜尋

首頁  >  問答  >  主體

javascript - nodejs登入系統控制靜態頁面跳轉

要快速做一個示範系統,由於後台缺乏,想自己用nodejs搭建.
雖然都是靜態頁面,但是要完成登入功能(無需註冊,可以直接資料庫分配密碼),登入之後才能跳轉到頁面首頁,若未登入而直接輸入首頁路徑,則跳到登入頁面.
由於是小白不太會弄.請各位幫忙指引方向,怎麼能快速完成

高洛峰高洛峰2786 天前893

全部回覆(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
  • 取消回覆