我尝试将我的数据(如登录或身份证)插入会话。
但是当我写req.session.login
时,typescript会返回错误:
"对象可能未定义'。"我正在尝试一切,我在谷歌寻找答案,但我没有找到任何东西。
以下是我的'src/app.ts'
包含在简单起始文件'bin/www.js'
中。
import * as express from "express";
import * as session from 'express-session';
import * as cookieParser from "cookie-parser";
let app:express.Application = express();
app.use(cookieParser("sssh!"));
app.use(session({
secret: 'sssssh! That\'s the secret',
name: 'session',
resave: false,
saveUninitialized: true,
cookie: {
path: '*',
maxAge: 60 * 60 * 1000,
expires: new Date(Date.now() + (3 * 60 * 60 * 1000))
}
}));
app.use("/test", (req:express.Request, res:express.Response, next:express.NextFunction)=>{
let ses = req.session;
// Here I want to do something similar to cookies,
//like req.session.login = "login" or ses.login = "login"
res.cookie('name', "lastname");
console.log(req.cookies);
res.send(req.session);
});
如果我没错,这个声明(req.session.login = "login"
)应该在普通的javascript文件中运行。
我确信我错过了一些重要的事情。
答案 0 :(得分:0)
您的代码工作正常,但path: '*'
中的cookie
除外。它应该是/
,如果你想在所有路径上允许cookie。
并且,req.session.login = "login"
工作正常。