javascript - nodejs登錄系統控制靜態頁面跳轉
問題描述
要快速做一個演示系統,由于后臺缺乏,想自己用nodejs搭建.雖然都是靜態頁面,但是要完成登錄功能(無需注冊,可以直接數據庫分配密碼),登錄之后才能跳轉到頁面首頁,若未登錄而直接輸入首頁路徑,則跳轉到登錄頁面.由于是小白不太會弄.請各位幫忙指引方向,怎么能快速完成
問題解答
回答1:你需要 koa and koa-router
回答2:可以使用express的session,然后寫一個checkLogin的方法對!req.session.user是否登錄進行判斷。然后再寫一份checkNoLogin的方法然后對req.session.user進行判斷。
回答3: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再做出動作。大概的思路的這樣,我也是小白,希望可以幫到你。
相關文章:
1. javascript - 獲取標簽中的字符串2. javascript - 為什么我的vue里的router-link不起作用3. javascript - js 寫一個正則 提取文本中的數據4. javascript - vue子路由匹配渲染到頂級視圖層問題5. 算法 - python 給定一個正整數a和一個包含任意個正整數的 列表 b,求所有<=a 的加法組合6. javascript - 發現個奇怪的問題,寫的css動畫當我把標簽頁收起時動畫自動暫停了7. javascript - js一個小的算法問題,找個好一點的答案。8. javascript - 新組成的數組打印出來出現問題,里面有對象,但長度為空9. javascript - 關于Lazyload遇到的問題10. javascript - 如果根據參數給table中的tr綁定不同事件
