zoukankan      html  css  js  c++  java
  • node16---cookie session

    03.js

    var express = require("express");
    var app = express();
    var db = require("./model/db.js");
    var formidable = require('formidable');
    var ObjectId = require('mongodb').ObjectID;
    
    
    //设置模板引擎
    app.set("view engine", "ejs");
    
    //静态
    app.use(express.static("./public"));
    //显示留言列表
    app.get("/", function (req, res, next) {
        db.getAllCount("liuyanben",function(count){
            res.render("index",{
                "pageamount" : Math.ceil(count / 20)
            });
        });
    });
    
    //读取所有留言,这个页面是供Ajax使用的
    app.get("/du", function (req, res, next) {
        //可以接受一个参数
        var page = parseInt(req.query.page);
    
        db.find("liuyanben",{},{"sort":{"shijian":-1},"pageamount":20,"page":page},function(err,result){
            res.json({"result":result});
        });
    });
    
    //处理留言
    app.post("/tijiao", function (req, res, next) {
        var form = new formidable.IncomingForm();
    
        form.parse(req, function (err, fields) {
            //写入数据库
            db.insertOne("liuyanben", {
                "xingming" : fields.xingming,
                "liuyan" : fields.liuyan,
                "shijian" : new Date()
            }, function (err, result) {
                if(err){
                    res.send({"result":-1}); //-1是给Ajax看的
                    return;
                }
                res.json({"result":1});
            });
        });
    });
    
    
    //删除
    app.get("/shanchu",function(req,res,next){
        //得到参数
        var id = req.query.id;
        db.deleteMany("liuyanben",{"_id":ObjectId(id)},function(err,result){
    
            res.redirect("/");
        });
    })
    
    app.listen(3000);

    04.js

    var express  = require('express');
    var cookieParser = require('cookie-parser');
     
    var app = express();
    //使用cookie必须要使用cookie-parser中间件
    app.use(cookieParser());
    
    app.get("/",function(req,res){
        res.send("猜你喜欢" + req.cookies.mudidi);
    });
    
    //查询一个地方的攻略,URL语法: http://127.0.0.1/gonglue?mididi=北京
    //此时北京就能记录在cookie中
    app.get("/gonglue",function(req,res){
        //得到get请求,用户查询的目的地
        var mudidi = req.query.mudidi;
        //记录用户喜好
        //先读取用户的喜好,然后把新的数据push进入数组,然后设置新的cookie
        var mudidiarry = req.cookies.mudidi || [];
        mudidiarry.push(mudidi);
        //maxAge在Express中以毫秒为单位,"mudidi",mudidiarry是内容,后面是cookie的属性。
        res.cookie("mudidi",mudidiarry,{maxAge: 900000, httpOnly: true});
        res.send(mudidi + "旅游攻略");
    });
    
    app.listen(3000);

    05.js

    var express = require("express");
    var app = express();
    var session = require("express-session");
    
    app.use(session({
        secret: 'keyboard cat',
        resave: false,
        saveUninitialized: true
    }));
    
    app.get("/",function(req,res){
        if(req.session.login == "1"){
            res.send("欢迎" + req.session.username);
        }else{
            res.send("没有成功登陆");
        }
    });
    
    app.get("/login",function(req,res){
        req.session.login = "1";    //设置这个session
        req.session.username = "考拉";
        res.send("你已经成功登陆");
    });
    
    app.listen(3000);

    06.js

    var express = require("express");
    var app = express();
    var db = require("./model/db.js");
    var session = require("express-session");
    
    app.use(session({
        secret: 'keyboard cat',
        resave: false,
        saveUninitialized: true
    }));
    
    app.set("view engine","ejs");
    
    
    app.get("/",function(req,res){
        if(req.session.login == "1"){
            res.send("欢迎" + req.session.username);
        }else{
            res.send("没有成功登陆");
        }
    });
    
    app.get("/login",function(req,res){
        res.render("denglu");
    });
    
    app.get("/checklogin",function(req,res){
        var tianxiedeusername = req.query.username;
        var tianxiedepassword = req.query.password;
        //根据用户填写的姓名,去数据库里面找这个文档,读取密码。
        //如果读取的密码,和填写的密码一样,登陆成功了;
        //如果读取的密码,和填写的密码不一样,登陆失败
        //如果根本没有找到这个记录,那么就说明用户名填写错了
        db.find("users",{"username":tianxiedeusername},function(err,result){
            if(result.length == 0){
                res.send("你的登录名写错了,没有这个注册用户");
                return;
            }
            var shujukuzhongdepassword = result[0].password;
            if(shujukuzhongdepassword == tianxiedepassword){
                req.session.login = "1";
                req.session.username = result[0].username;
                res.send("成功登陆!你是" + result[0].username);
            }else{
                res.send("密码错误!");
            }
        })
    });
    
    app.listen(3000);
  • 相关阅读:
    PHP 方法整合类 -- 1.根据概率产生随机数 --2.判断手机号归属地及运营商 --3.过滤emoji表情
    PHP 多图下载并打包压缩方法
    PHP 导出excel 精简版
    PHP获取首字母相关方法
    no input file specified 解决办法
    百度地图相关
    经纬度相关方法
    阿里云SSL证书部署至宝塔
    微信入口、生成菜单,公众号授权获取用户信息(unionid)
    超级好用超级简单的支付类库
  • 原文地址:https://www.cnblogs.com/yaowen/p/7046576.html
Copyright © 2011-2022 走看看