2016-09-04 12 views
0

在angular.js,我已設定數組對象一個cookie如下:訪問數組對象從餅乾中的node.js

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

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

客戶端

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

服務器端

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