cookie的應(yīng)用

  • 需求
  • 當(dāng)訪問(wèn) / 路由的時(shí)候,把我所有的搜索的東西顯示到對(duì)應(yīng)的頁(yè)面上
/*處理路由*/

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

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

    res.send(req.cookies.hobbys);
});
  • 當(dāng)訪問(wèn)/search路由的時(shí)候,記錄對(duì)應(yīng)的搜索的東西
  • 我們需要當(dāng)訪問(wèn)/search路由的時(shí)候,我們?cè)L問(wèn)的東西一般回作為路由拼接到路由的后面作為參數(shù)
  • 那么我們需要使用cookie來(lái)記錄對(duì)應(yīng)的信息

/*設(shè)置/search路由,記錄對(duì)應(yīng)的參數(shù)*/
app.get('/search',function (req, res) {

    /*使用cookie記錄*/
    /*我們需要使用一個(gè)數(shù)組來(lái)記錄對(duì)應(yīng)的參數(shù)
     * 然后使用cookie記錄對(duì)應(yīng)的數(shù)組
     * */
    var hobby = [];

    /*因?yàn)閷?duì)應(yīng)的cookie可能不存在,就需要判斷*/
   if (req.cookies.hobbys){
       //表示cookie存在,我們就使用原來(lái)cookie中的值來(lái)表示對(duì)應(yīng)的hobby
       hobby = req.cookies.hobbys;
   }

    /*只有有對(duì)應(yīng)的路徑訪問(wèn),我們就需要重新設(shè)置對(duì)應(yīng)的cookie的記錄的值
     * 每次訪問(wèn)的時(shí)候,我們需要把訪問(wèn)的參數(shù)添加到數(shù)組中
     * 然后使用cookie重新記錄對(duì)應(yīng)的值*/
    var hobbyName = req.query.hobbyName;
    hobby.push(hobbyName);

    /*使用cookie重新記錄對(duì)應(yīng)的值*/
    res.cookie('hobbys',hobby,{expires:new Date(Date.now()+900000),httpOnly:true});

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

  • 完整的解析過(guò)程
/*當(dāng)訪問(wèn)/路由的時(shí)候,把我所有的搜索的東西顯示到對(duì)應(yīng)的頁(yè)面上
 * 當(dāng)訪問(wèn)/search路由的時(shí)候,記錄對(duì)應(yīng)的搜索的東西
 * 我們需要當(dāng)訪問(wèn)/search路由的時(shí)候,我們?cè)L問(wèn)的東西一般回作為路由拼接到路由的后面作為參數(shù)
 * 那么我們需要使用cookie來(lái)記錄對(duì)應(yīng)的信息*/

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);
});

/*設(shè)置/search路由,記錄對(duì)應(yīng)的參數(shù)*/
app.get('/search',function (req, res) {

    /*使用cookie記錄*/
    /*我們需要使用一個(gè)數(shù)組來(lái)記錄對(duì)應(yīng)的參數(shù)
     * 然后使用cookie記錄對(duì)應(yīng)的數(shù)組
     * */
    var hobby = [];

    /*因?yàn)閷?duì)應(yīng)的cookie可能不存在,就需要判斷*/
   if (req.cookies.hobbys){
       //表示cookie存在,我們就使用原來(lái)cookie中的值來(lái)表示對(duì)應(yīng)的hobby
       hobby = req.cookies.hobbys;
   }

    /*只有有對(duì)應(yīng)的路徑訪問(wèn),我們就需要重新設(shè)置對(duì)應(yīng)的cookie的記錄的值
     * 每次訪問(wèn)的時(shí)候,我們需要把訪問(wèn)的參數(shù)添加到數(shù)組中
     * 然后使用cookie重新記錄對(duì)應(yīng)的值*/
    var hobbyName = req.query.hobbyName;
    hobby.push(hobbyName);

    /*使用cookie重新記錄對(duì)應(yīng)的值*/
    res.cookie('hobbys',hobby,{expires:new Date(Date.now()+900000),httpOnly:true});

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

app.listen(3000);


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • cookie的作用是存儲(chǔ)數(shù)據(jù),當(dāng)用戶訪問(wèn)網(wǎng)站時(shí),將一些數(shù)據(jù)存儲(chǔ)在用戶電腦上.1.不同瀏覽器cookie位置不一樣2...
    松鼠癥患者閱讀 341評(píng)論 0 0
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,608評(píng)論 19 139
  • 今天去健身房,在揮灑汗水的一個(gè)多小時(shí)中雖然很辛苦但卻是開(kāi)心的。 希望可以堅(jiān)持。變瘦變漂亮。 你,仿佛駐足...
    會(huì)想多的姑娘閱讀 155評(píng)論 0 0

友情鏈接更多精彩內(nèi)容