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. angular.js - 请教angularjs里html和js通信的问题2. angular.js - ui-router 有没有手动重新加载路由配置的方法?3. angular.js - 请教一个关于angularjs的小问题4. angular.js - ionic命令行执行代码超级卡,要等很久才会有反应5. angular.js - 创建项目问题的6. mysql - 优惠券表应该怎么建,求帮助7. angular.js - angularjs移动端项目需要引入外部的PC网页,iframe宽高设定100%,显示的内容依然是PC那种效果,不是缩放成适配屏8. node.js - 怎么在初始化的时候使得一个子组件不加载?9. angular.js - angularJs使用iframe,网页内容自适应的问题10. angular.js - wepapp在网页上可以滑动但是适配在手机上不可以,为什么?求解