Javascript 如何解决TypeError:无法读取属性';蛋白质名称';未定义的
我正在开发一个模块,在该模块中,我必须在会话中保存搜索的项目,然后我可以在其他请求中使用该项目的值,但在这样做时,当我尝试在另一个路由中访问req.expsession.proteinname时,我得到了“TypeError:无法将属性'proteinname'设置为undefined” app.js代码: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:
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
?您的问题标题是无法读取
,问题文本是无法设置