在写cookie是push函数Cannot read property 'push' of undefined

原代码:

app.get("/gonglue",function (req,res) {
    var destination=req.query.desti;
    var mudidiary=req.cookies.mudidi;
    mudidiary.push(destination);

    res.cookie("mudidi",mudidiary)
    res.send(destination+"旅游攻略");
})

 报错
TypeError: Cannot read property 'push' of undefined    at C:\Users\sue\Documents\node\05\04.js:13:15    at Layer.handle [as handle_request] (C:\Users\sue\Documents\node\05\node_modules\express\lib\router\layer.js:95:5)    at next (C:\Users\sue\Documents\node\05\node_modules\express\lib\router\route.js:137:13)    at Route.dispatch (C:\Users\sue\Documents\node\05\node_modules\express\lib\router\route.js:112:3)    at Layer.handle [as handle_request] (C:\Users\sue\Documents\node\05\node_modules\express\lib\router\layer.js:95:5)    at C:\Users\sue\Documents\node\05\node_modules\express\lib\router\index.js:281:22    at Function.process_params (C:\Users\sue\Documents\node\05\node_modules\express\lib\router\index.js:335:12)    at next (C:\Users\sue\Documents\node\05\node_modules\express\lib\router\index.js:275:10)    at cookieParser (C:\Users\sue\Documents\node\05\node_modules\cookie-parser\index.js:71:5)    at Layer.handle [as handle_request] (C:\Users\sue\Documents\node\05\node_modules\express\lib\router\layer.js:95:5)

原因是 var mudidiary=req.cookies.mudidi;在浏览器初次访问时req.cookies.mudidi还为创建,需要给muddiary数组赋值一个[]

修改

app.get("/gonglue",function (req,res) {
    var destination=req.query.desti;
    var mudidiary=req.cookies.mudidi||[];
    mudidiary.push(destination);

    res.cookie("mudidi",mudidiary)
    res.send(destination+"旅游攻略");
})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值