我将一组值分配给session,即通过ajax在nodejs应用程序中检索的search data,如下所示:
req.session.searchData=result.GetSearchDataResult;当任何呈现的记录被单击时,用户将被重定向到新的view,而在服务器中,我正在加载与该单击记录有关的不同数据。我将id作为url参数传递,并计划通过过滤从存储的session.searchData中获取记录。但是,即使session.searchData中存在这些值,我也无法将其赋值给任何变量来读取值和筛选器。
当我在下面console.log req.session.searchData时得到的是:
{"lstDetails":
[
{"ID":"FFSDER2da2411cDSs12CGh21",
"FirstName":"Test",
"LastName":"Data",
"DOB":"8/15/1921 12:00:00 AM",
"AddressLine1":"Test Address Line 1",
"AddressLine2":"",
"City":"FakeCity",
"State":"ST",
"Zip":"41511",
"PID":0,
"EmailID":"SC4239925@FakeEmail.com",
"Gender":"1",
"WorkPhone":"",
"OtherPhone":"5555555555",
"ICarier":
{"ICName":null,
"IGName":null,
"IGNum":null
}
},
{"ID":"DS24DASD5da21afd56D4#2!",
"FirstName":"Test2",
"LastName":"Data2",
"DOB":"8/15/1921 12:00:00 AM",
"AddressLine1":"Test2 Address Line 1",
"AddressLine2":"",
"City":"FakeCity2",
"State":"ST2",
"Zip":"41511",
"PID":0,
"EmailID":"SC4239925@FakeEmail.com",
"Gender":"1",
"WorkPhone":"",
"OtherPhone":"5555555555",
"ICarier":
{"ICName":null,
"IGName":null,
"IGNum":null
}
}
]
}但是当我试图将它赋值给一个变量时,它总是undefined
app.use(session({secret: 'secretkey'}));
console.log(req.session.searchData); //this prints above list values
var patientArray = req.session.searchData;
console.log("Patient Array - " +patientArray); //this prints "Patient Array - undefined"我也尝试使用app.get,如下所示,但没有运气。
var patientArray;
app.get("/",function(req,res){
var sess=req.session;
patientArray=sess.searchData; //never enters here
});
console.log(patientArray);但上述方法从未被调用过。
我在这里错过了什么?如何读取会话值并将其赋值给变量?
发布于 2016-02-10 13:32:34
由于req.session.searchData=result.GetSearchDataResult;过去常常返回json-response,所以相同的json-response被存储在req.session.searchData中。不确定这是否是正确的行为,但随后我不得不使用JSON.parse(req.session.searchData);来获取适当的数据。
https://stackoverflow.com/questions/35315220
复制相似问题