javascript - nodejs登錄系統(tǒng)控制靜態(tài)頁(yè)面跳轉(zhuǎn)
問(wèn)題描述
要快速做一個(gè)演示系統(tǒng),由于后臺(tái)缺乏,想自己用nodejs搭建.雖然都是靜態(tài)頁(yè)面,但是要完成登錄功能(無(wú)需注冊(cè),可以直接數(shù)據(jù)庫(kù)分配密碼),登錄之后才能跳轉(zhuǎn)到頁(yè)面首頁(yè),若未登錄而直接輸入首頁(yè)路徑,則跳轉(zhuǎn)到登錄頁(yè)面.由于是小白不太會(huì)弄.請(qǐng)各位幫忙指引方向,怎么能快速完成
問(wèn)題解答
回答1:你需要 koa and koa-router
回答2:可以使用express的session,然后寫(xiě)一個(gè)checkLogin的方法對(duì)!req.session.user是否登錄進(jìn)行判斷。然后再寫(xiě)一份checkNoLogin的方法然后對(duì)req.session.user進(jìn)行判斷。
回答3:html我就不給你寫(xiě)了,基礎(chǔ)的表單內(nèi)容js的ajax請(qǐng)求:
$('#userLogin').click(function(){$.ajax({ url: '/login', type: 'GET', data: { username: $('#email-one').val(), // 用戶(hù)名和密碼 password: $('#password-one').val() }, success: function(data){ if(data.status==1){ window.location.href=’index.html’; // 請(qǐng)求成功后到你的主頁(yè) }else{ alert(data.msg); } }, error: function(){ layer.msg(’訪(fǎng)問(wèn)失敗’, hint); } }); });
下面的代碼如果看不懂的話(huà),可以參考/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){ // 連接數(shù)據(jù)庫(kù) var connection=mysql.createConnection({host:'localhost',user:'root',password:'數(shù)據(jù)庫(kù)密碼',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:“用戶(hù)名或密碼不正確”});}else{ req.session.user=req.query.username; req.session.isLogin=true; res.json({status:1,msg:“登錄成功”});} }) connection.end();})app.listen(8081);
后面頁(yè)面的訪(fǎng)問(wèn)必須有session信息,你可以在每個(gè)頁(yè)面向后臺(tái)發(fā)出請(qǐng)求。然后你用node檢測(cè)session內(nèi)容,ajax再做出動(dòng)作。大概的思路的這樣,我也是小白,希望可以幫到你。
相關(guān)文章:
1. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語(yǔ)法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?2. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法3. mysql儲(chǔ)存json錯(cuò)誤4. mysql - 怎么生成這個(gè)sql表?5. mysql - 數(shù)據(jù)庫(kù)表中,兩個(gè)表互為外鍵參考如何解決6. Navicat for mysql 中以json格式儲(chǔ)存的數(shù)據(jù)存在大量反斜杠,如何去除?7. sql語(yǔ)句 - 如何在mysql中批量添加用戶(hù)?8. mysql - 表名稱(chēng)前綴到底有啥用?9. 編輯成功不顯示彈窗10. 怎么php怎么通過(guò)數(shù)組顯示sql查詢(xún)結(jié)果呢,查詢(xún)結(jié)果有多條,如圖。
