Javascript 如何解决TypeError:无法读取属性';蛋白质名称';未定义的

Javascript 如何解决TypeError:无法读取属性';蛋白质名称';未定义的,javascript,node.js,express,Javascript,Node.js,Express,我正在开发一个模块,在该模块中,我必须在会话中保存搜索的项目,然后我可以在其他请求中使用该项目的值,但在这样做时,当我尝试在另一个路由中访问req.expsession.proteinname时,我得到了“TypeError:无法将属性'proteinname'设置为undefined” app.js代码: const expsession = require('express-session') app.use(expsession({secret: 'my secret', resave:

我正在开发一个模块,在该模块中,我必须在会话中保存搜索的项目,然后我可以在其他请求中使用该项目的值,但在这样做时,当我尝试在另一个路由中访问req.expsession.proteinname时,我得到了“TypeError:无法将属性'proteinname'设置为undefined”

app.js代码:

const expsession = require('express-session')

app.use(expsession({secret: 'my secret', resave: false, saveUninitialized:false}));
protein.js代码

router.post('/getsearchvalue',(req,res,next)=>{
    req.expsession = { proteinname: req.body.proteinname };
    res.render('searchresult')
})

router.get('/getsearchvalue',(req,res,next)=>{
    console.log(req.expsession.proteinname)
    var searchedproteinname = req.expsession.proteinname; })

当我尝试访问上面的get请求时,我收到了错误

错误告诉您,
req.expsession
不存在。这是因为它始终是
req.session
,无论您如何调用设置它的
const
。我已经做了更改,但仍然得到相同的错误。您可以更新问题以反映您当前的情况吗?我确实按照您的建议更改了protein.js代码
router.post('/getsearchvalue',(req,res next)=>{req.session={proteinname:req.body.proteinname};console.log(“内部post”)console.log(req.body.proteinname)res.render('searchresult')console.log(req.session.proteinname)})
但我仍然收到TypeError:无法读取undefinedHmm的属性'proteinname',是否可能错误是关于
req.body
?您的问题标题是
无法读取
,问题文本是
无法设置