从node.js

时间:2016-09-04 16:28:33

标签: angularjs node.js cookies

在angular.js中,我设置了一个带有数组对象的cookie,如下所示:

if($cookies.get(uid )== undefined)
{
    var arr =[];
    $cookies.put("arr",arr);
    $cookies.put("uid","abc");
    console.log("=========cookies.uid"+$cookies.get(uid));
}

但是当在node.js中访问它时,它是未定义的:

if(req.cookies.uid!=req.session.value)
{
    var u =  uuid.v1();
    req.session.value = u;
    res.cookie("uid",u);
    var ar =  null;
*** console.log("req.cookies.arr"+req.cookies.arr); ***// it is undefined 
    ar = req.cookies.arr;
    ar.push(req.query.d);
    res.cookie("arr",ar);

    console.log("session cookie val="+u);
}

标有***的行首先是未定义的,所以我无法继续推进。

1 个答案:

答案 0 :(得分:1)

使用JSON,因为cookie值只能是字符串。

客户端

var arr =[];
$cookies.put("arr",JSON.stringify(arr));

服务器端

ar = JSON.parse(req.cookies.arr);
ar.push(req.query.d);