0
我有我嘗試了一些數據存儲到會話變量下面的代碼:的NodeJS存儲會話數據exprss
//Capture IP geo-location info if it hasn't been set for this session
app.all('*', function(req, res, next){
//Stuff to run once for each user session
if (!req.session.runOnce){
req.session.runOnce = true;
if (!req.session.ipinfo || 1){
//add user ip to sessions for use on who's online
//if we're localhost, give it an 8.8.8.8 IP just so we can test something
if (req.ip == '127.0.0.1'){ip = '8.8.8.8'; }else{ip = req.ip; }
ip2location(ip, config.ipinfodb.apiKey, function(error, data){
var ipData = JSON.parse(data);
req.session.ipData = ipData;
});
next();
}else{
next();
}
}else{
next();
}
});
的session.ipData不被存儲。我可以將它存儲在對ip2location的調用之外,並且可以在調用ip2location的過程中獲得會話數據。
任何想法: 感謝
在代碼中,你不檢查錯誤。數據是否正確到位? – Max
是的,ipData正在獲取數據 – rstewart
您正在設置req.session.ipData,但測試req.session.ipinfo –