cookie的应用

  • 需求
  • 当访问 / 路由的时候,把我所有的搜索的东西显示到对应的页面上
/*处理路由*/

app.get('/',function (req, res) {

    /*显示搜索的信息,获取cookie中的值*/
    console.log(req.cookies.hobbys);

    res.send(req.cookies.hobbys);
});
  • 当访问/search路由的时候,记录对应的搜索的东西
  • 我们需要当访问/search路由的时候,我们访问的东西一般回作为路由拼接到路由的后面作为参数
  • 那么我们需要使用cookie来记录对应的信息

/*设置/search路由,记录对应的参数*/
app.get('/search',function (req, res) {

    /*使用cookie记录*/
    /*我们需要使用一个数组来记录对应的参数
     * 然后使用cookie记录对应的数组
     * */
    var hobby = [];

    /*因为对应的cookie可能不存在,就需要判断*/
   if (req.cookies.hobbys){
       //表示cookie存在,我们就使用原来cookie中的值来表示对应的hobby
       hobby = req.cookies.hobbys;
   }

    /*只有有对应的路径访问,我们就需要重新设置对应的cookie的记录的值
     * 每次访问的时候,我们需要把访问的参数添加到数组中
     * 然后使用cookie重新记录对应的值*/
    var hobbyName = req.query.hobbyName;
    hobby.push(hobbyName);

    /*使用cookie重新记录对应的值*/
    res.cookie('hobbys',hobby,{expires:new Date(Date.now()+900000),httpOnly:true});

    console.log(hobby);
    res.send(hobby);
});

  • 完整的解析过程
/*当访问/路由的时候,把我所有的搜索的东西显示到对应的页面上
 * 当访问/search路由的时候,记录对应的搜索的东西
 * 我们需要当访问/search路由的时候,我们访问的东西一般回作为路由拼接到路由的后面作为参数
 * 那么我们需要使用cookie来记录对应的信息*/

var cookieParse = require('cookie-parser');
var express = require('express');

var app = express();
app.use(cookieParse());

/*处理路由*/
app.get('/',function (req, res) {

    /*显示搜索的信息,获取cookie中的值*/
    console.log(req.cookies.hobbys);

    res.send(req.cookies.hobbys);
});

/*设置/search路由,记录对应的参数*/
app.get('/search',function (req, res) {

    /*使用cookie记录*/
    /*我们需要使用一个数组来记录对应的参数
     * 然后使用cookie记录对应的数组
     * */
    var hobby = [];

    /*因为对应的cookie可能不存在,就需要判断*/
   if (req.cookies.hobbys){
       //表示cookie存在,我们就使用原来cookie中的值来表示对应的hobby
       hobby = req.cookies.hobbys;
   }

    /*只有有对应的路径访问,我们就需要重新设置对应的cookie的记录的值
     * 每次访问的时候,我们需要把访问的参数添加到数组中
     * 然后使用cookie重新记录对应的值*/
    var hobbyName = req.query.hobbyName;
    hobby.push(hobbyName);

    /*使用cookie重新记录对应的值*/
    res.cookie('hobbys',hobby,{expires:new Date(Date.now()+900000),httpOnly:true});

    console.log(hobby);
    res.send(hobby);
});

app.listen(3000);


推荐阅读更多精彩内容

  • cookie的作用是存储数据,当用户访问网站时,将一些数据存储在用户电脑上.1.不同浏览器cookie位置不一样2...
    松鼠症患者阅读 148评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 129,318评论 18 137
  • 今天去健身房,在挥洒汗水的一个多小时中虽然很辛苦但却是开心的。 希望可以坚持。变瘦变漂亮。 你,仿佛驻足...
    会想多的姑娘阅读 49评论 0 0