阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

    教程列表

    数据库
    抓包专区
    测试专区

    express+cookie 设置客户端缓存

    核心代码

    req.cookies.set(‘userInfo’,JSON.stringify(responseData.data));
    

    如果本地有 cookie,每次请求的时候,浏览器会带过去

    req.userInfo=JSON.parse(req.cookies.get(“userInfo”));
    

    第三步:渲染;把读取到的 req.userInfo 配置给页面使用;

    第四步:就是页面的模板引擎判断了;

    app.js 文件;

    var express = require('express');
    var mongoose = require('mongoose');
    var bodyParser = require('body-parser');
    var Cookies = require('cookies')
    var app = express();
    swig.setDefaults({ cache: false });
    //设置读取Body
    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(function (req, res, next) {
      req.cookies=newCookies(req, res);
      req.userInfo= {};
      if (req.cookies.get('userInfo')) {
        try {
        req.userInfo=JSON.parse(req.cookies.get('userInfo'));
        } catch (e) { }
        console.log(req.userInfo._id)
      }
      next();
    })
    

    api.js(接口文件)

    //是否在数据库中
    User.findOne({
        'username':username,
        'password':password,
        }).then(function(data){
            if(!data){
                responseData.code=4;
                responseData.message='Error !!!!'
                returnres.json(responseData)
            }else{
                responseData.message='success'
                responseData.data={
                _id:data._id,
                username:data.username,
            }
            req.cookies.set('userInfo',JSON.stringify(responseData.data));
            returnres.json(responseData)
        }
    })
    

    main.js(路由配置的渲染文件)

    var express =require('express');
    var router=express.Router();
    router.get('/',function(req,res,next){
        res.render('main/index',{
            userInfo:req.userInfo
        });
    })
    module.exports=router;
    
    卖前端学习教程

    只需几十元,就能买到培训班的内部教程!开启高薪之路!

    零基础小白阿里P7的教程都有!

    同时长期收购所有培训班的前端教程

    目录
    目录